Whiteship's Note

작명 지침 사용하기

Hibernate/Chapter 4 : 2008.01.20 13:29


특징

  • 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(String propertyName) {
return propertyName;
}

public String tableName(String tableName) {
return "CE_" + tableName;
}

public String columnName(String columnName) {
return columnName;
}

public String propertyToTableName(String className, String propertyName) {
return "CE_" + classToTableName(className) + '_'
+ propertyToColumnName(propertyName);
}
}
  • classToTableName(): <class> 맵핑에서 table 속성에 값을 입력하지 않았을 때 호출.
  • propertyToColumnName(): 명시적인 column 이름을 설정하지 않았을 때 호출.
  • tableName(), columnName(): 명시적으로 이름을 설정했을 때 호출.
  • 동적으로 설정을 바꿀 수 있음.
동적으로 네임스페이스 바꾸기
Configuration cfg = new Configuration();
cfg.setNamingStrategy( new CENamingStrategy() );
SessionFactory sessionFactory sf =
cfg.configure().buildSessionFactory();

모르는 것

  • SessionFactory 설정할 때 구현한 클래스를 등록해 주면 되는건가?

'Hibernate > Chapter 4' 카테고리의 다른 글

기본 속성 맵핑하기- 실습  (2) 2008.01.22
Hibernate VS JPA  (2) 2008.01.20
컴포넌트 맵핑하기  (0) 2008.01.20
기본 속성 맵핑하기  (2) 2008.01.20
작명 지침 사용하기  (0) 2008.01.20
SQL문에 따옴표 사용하기  (0) 2008.01.20
패키지 이름 설정하기  (0) 2008.01.20
쿼리에서 사용할 Entity 이름 설정하기  (0) 2008.01.20
Immutable Entity 만들기  (0) 2008.01.20
동적 SQL 생성  (0) 2008.01.20
주키 정하기  (0) 2008.01.14
top




: 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : ··· : 11 :