Tagged

맵핑 설정

A collection of 6 posts

맵핑 설정

작명 지침 사용하기

특징 Hibernate provides a feature that allows you to enforce naming standards automatically. 설정하기 NamingStrategy 인터페이스 구현하기 ImprovedNamingStrategy 클래스 상속받아서 구현하기 네임스페이스 등록하기 import org.hibernate.cfg.ImprovedNamingStrategy;import org.hibernate.util.StringHelper;public class CENamingStrategy extends ImprovedNamingStrategy { public String classToTableName(String className) { return StringHelper.unqualify(className); } public String propertyToColumnName(

맵핑 설정

쿼리에서 사용할 Entity 이름 설정하기

특징 기본으로 모든 클래스 이름들이 자동으로 HQL의 네임스페이스로 import 된다. 즉, HQL에서 패키지 이름을 제외한 클래스 이름을 사용할 수 있다. 서로 다른 패키지에 같은 이름의 클래스가 존재한다면, auto-import를 끄거나, 명시적으로 네임스페이스를 설정해야 한다. 설정하기 HQL에서 사용할 네임스페이스 설정하기 @Entity(name="AuctionItem")public class Item {} 모르는 것 애노테이션을 사용해서 auto-import를 끄는

맵핑 설정

Immutable Entity 만들기

특징 변하지 않아야 할 Persistent 객체가 있을 수 있다. 이런 Persistent 클래스에는 필드로 직접 접근하도록 설정하고, accessor 메소드들을 만들지 않으면 된다. 설정하기 immutable entity 설정하기 @Entity@org.hibernate.annotations.Entity(mutable=false)@org.hibernate.annotations.AccessType("field")public class Bid {} @AccessType은 하이버네이트가 Pesistent 클래스에 접근하는 방법을 표시한다. 클래스, 메소드, 필드

맵핑 설정

동적 SQL 생성

특징 기본으로 하이버네이트가 시작할 때, 각각의 Persistent 클래스와 관련된 CRUD 쿼리를 생성한다. UPDATE 문은 모든 필드를 수정하도록 작성되어 있다. Sometimes you can avoid generating any UPDATE statement, if the persistent class is mapped immutable. 설정하기 동적으로 쿼리 생성하도록 설정 @Entity@org.hibernate.annotations.Entity(dynamicInsert=true, dynamicUpdate=true)public class