JPA

    [JPA]NamedQuery

    미리 정의해서 이름을 부여해두 사용하는 sql로 정적 쿼리에서만 사용 가능하다.어노테이션 , XMl에 정의하며, 애플리케이션 로딩 시점에 초기화 후 재사용 한다. 애플리케이션 로딩 시점에서 쿼리를 검증 @Entity @NamedQuery( name ="Member.findByUsername", query = "select m from Member m where m.username = :username" //blabla ) 사용은 아래와 같이 할 수 있다. List results = em.createNamedQuery("Member.findByUserName", Member.class) .setParameter("username", "회원1") .getResultList();

    [JPA] Hibernate 초기화 전략

    Spring-data-JPA와 DBMS를 연결해서 사용할 때 간편히 개발환경의 변경사항을 적용하여 테스트 할 수 있다. DDL Generation Spring은 EntityScan을 통해 @Entity 에노테이션이 명시한 클래스를 찾는다. Spring.jpa.generate-ddl=true 옵션을 true로 설정하면 해당 데이터를 근거로 서버 시작 시점에 DDL문을 생성하여 DB에 적용한다. jpa.generate설정은 JPA 구현체 DDL 생성 옵션의 링크이고, true/false밖에 선택할 수 없다. Spring.jpa.hibernate.ddl-auto 옵션을 통해 보다 상세한 데이터 베이스 초기화 전략을 설정할 수 있음 none: 아무것도 실행하지 않음 create-drop : SessionFact..