http://seongilman.tistory.com/27 #.properties -> .xml로 변경하는 작업을 진행하였다.#기존 는 삭제하고을 추가해서 value="#{prop['jdbc.driverClassName']}"와 같이 작성하였다. #controller에서는 다음과 같이 사용 @Value("#{prop['test']}") private String value;@Autowired private Properties prop; # view(jsp)에서도 taglib를 통해서 사용가능한데현재 프로젝트에서는 thymeleaf로 인해 사용불가능한 상태이다(-ㅅ-)... 사용가능하도록 설정을 변경하는 방법을 찾는 등 대안이 필요레퍼런스는 상단의 사이트로 가볼 것 #xml 설정은 다음과 같다. 설명 co..
Spring Data JPA를 적용해서 코딩하던 중 entity id로 하나의 object를 리턴 받고 싶은데 사용할 수 있는 메소드가 2가지라 찾아보았다. http://stackoverflow.com/questions/24482117/when-use-getone-and-findone-methods-spring-data-jpaJpaRepository.getOne(id);CrudRepository.findOne(id);According with the getOne API: Returns a reference to the entity with the given identifier. According with the findOne API: Retrieves an entity by its id.So there'..
Hibernate(annotation만 jpa 스펙이었음) -> 모든 인터페이스 jpa 스펙으로 변경SpringData JPA 적용 : JPA기반 ORM SupporterQueryDsl 적용 : create type-safe JPA queries 참조 : 1, 2 자세한 설정 방법은 나중에...Hibernate -> JPADB접근을 위한 interface를 sessionFactory에서 entityManagerFactory로 변경persistence.xml로 특정 orm의 설정을 그대로 두고 import 시키는 방식 대신 기존처럼 직접 바인딩하는 설정을 사용하였음기존 GenericDao에 sessionFactory inject 대신 EntityManager를 걸어주면 되고, annotation은 @Per..
Spring+Hibernate으로 프로젝트 진행 중에 junit으로 dao 테스트를 하는데쿼리도 잘 만들어지고, 결과도 뽑는데 롤백을 시작하겠다는 로그가 계속 나온다. Service단 테스트에서는 잘되는데 왜 dao테스트에서만 이럴까?dao 테스트에서는 @Rollback(false)로 명시하니 해결되었다. 아니면 클래스 단위로 걸어도 된다.@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=false)public class Entity { 자세한 것은 더 찾아봐야 알 듯하다.
hibernate propertie에 아래 설정을 추가하면 된다.create는 기존 테이 블을 drop하고 재생성한다. 그 밖에 create-drop, update, validate가 있는데 필요할 때 찾아보자.이렇게 하면, DB스키마까지 자바단에서 제어가 가능한 장점이 있는 반면, 운영단계에서는 제약이 많을 것으로 예상된다.그리고 entity 모델에 컬럼별 데이터 타입이나 varchar의 경우 length 설정도 해줘야해서(기본 255), 나중에는상당히 많은 정보가 담기게 되어 오히려 가독성이 떨어지게 될 것이 염려가 된다.그래서 이 기능은 참고만 하고, 스키마를 수동으로 생성한 뒤에 사용하는 것이 나아보인다.(개인적으로 예상되는 결과이고, 실제로 해보진 않았기 때문에 나중에 생각이 바뀔 수도 있다.)..
등록일시, 수정일시의 기본값 설정관련reg_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP mod_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP Mysql의 datetime, timestamp 자료형 중 datetime 사용Mysql5.6.5 버전 이상에서는 datetime 자료형에 timestamp default 관련 코드 적용가능(프로젝트 mysql 버전은 5.6.17)Row insert시 등록일시, 수정일시 현재시간으로 설정, update 시 수정일시도 자동으로 업데이트출처 : http://nojinho.blogspot.kr/2014/03/mysql-datetime.ht..
http://dogfeet.github.io/articles/2012/git-tracking-vs-remote-tracking.htmlhttps://github.com/progit-ko/progit2-ko/blob/master/book/03-git-branching/sections/remote-branches.asc git clone으로 원격저장소의 내용을 로컬로 복사하면,자동으로 2가지 트래킹 브랜치가 생성됨 (local-> remote)1. origin/master -> remotes/origin/master2. master -> origin/master -> remotes/origin/master 2번은 정확히 어떤 걸 가리키는 건지 확실하지 않음 참고git push -u origin masterI..