jpa independent custom type mapping / javax.persistence.x alternative to org.hibernate.annotations.Type and org.hibernate.annotations.TypeDef

前端 未结 2 1603
离开以前
离开以前 2020-12-09 18:52

I have a table GameCycle in a db that holds a column date of type number. The values in this column are 8-digit numbers representing a

2条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-09 19:54

    Custom Type Mapping has been finally added in JPA 2.1 (JSR-388, part of Java EE 7).
    The Hibernate's @Type annotation is no longer needed, and can be replaced by Type Conversion in JPA 2.1.

    JPA 2.1 has added :

    • annotation @Convert
    • annotation @Converts
    • annotation @Converter
    • interface AttributeConverter

    The most basic example : (Example 1: Convert a basic attribute) - from source

    @Converter
    public class BooleanToIntegerConverter 
        implements AttributeConverter 
    {  ... }
    

    ...

    @Entity
    @Table(name = "EMPLOYEE")
    public class Employee
    {
    
        @Id
        private Long id;
    
        @Column
        @Convert(converter = BooleanToIntegerConverter.class)
        private boolean fullTime;
    
    }
    

    Other links :

    • Type Conversion in JPA 2.1
    • JPA 2.1 - How to implement a Type Converter
    • Mapping Enums Done Right With @Convert in JPA 2.1

提交回复
热议问题