문서의 이전 판입니다!
UserType
, ParameterizedType
을 통해 사용자 정의 타입을 만들 수 있다.package-info.java
에 등록할 경우에는 Hibernate냐 JPA에 따라 패키지 지정작업이 필요하다.<class>com.foo.bar.thepackage</class>
<resource package="com.foo.bar.thepackage"/>
package-info.java
@TypeDefs({ @TypeDef(name = "some_enum", typeClass = GenericEnumUserType.class, parameters = { @Parameter(name = "enumClass", value = "kr.pe.kwonnam.usertype.SomeEnum"), @Parameter(name = "identifierMethod", value = "toShortName"), @Parameter(name = "valueOfMethod", value = "fromShortName") }) }) package kr.pe.kwonnam.usertype; import org.hibernate.annotations.Parameter; import org.hibernate.annotations.TypeDef; import org.hibernate.annotations.TypeDefs; // 이제 엔티티 클래스에서는 다음과 같이 간단히 등록 가능 @Type(type = "some_enum") @Column(name = "some_enum", length = 2, nullable = true) private SomeEnum someEnum;