加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

jpa独立定制类型映射/ javax.persistence.x替代org.hibernate.an

发布时间:2020-12-14 16:33:39 所属栏目:Java 来源:网络整理
导读:我在一个数据库中有一个表GameCycle,它包含一个类型号的列日期.此列中的值为8位数字,表示“20130301”的倒数日期.映射到这个表上,我有一个GameCycle类,其中包含 java.util.Date类型的受保护字段iDate.该字段使用自定义类型映射注释为“@Type(type =”reverse
我在一个数据库中有一个表GameCycle,它包含一个类型号的列日期.此列中的值为8位数字,表示“20130301”的倒数日期.映射到这个表上,我有一个GameCycle类,其中包含 java.util.Date类型的受保护字段iDate.该字段使用自定义类型映射注释为“@Type(type =”reverseDate“)’.类Gamecycle被注释为’@TypeDef(name =“inverseDate”,typeClass = InverseDateType.class)’
import org.hibernate.annotations.Type;
import org.hibernate.annotations.TypeDef;

@Entity
@TypeDef(name = "inverseDate",typeClass = InverseDateType.class)
@Table(name = "GAMECYCLE")
public class GameCycle implements Comparable<GameCycle>,Serializable
{
    @Type(type = "inverseDate")
    @Column(name = "GC_DATE",nullable = false)
    protected Date iDate = null;
    ...

显然,导入绑定我使用hibernate作为一个jpa实现,所以我的问题是:

有没有办法摆脱hibernate注释,并使用纯javax.persistence解决方案进行相同的自定义类型映射?

解决方法

否JPA规范的当前版本不支持自定义类型映射.它是未来JPA 2.1最受欢迎的功能之一.

如果你真的想摆脱Hibernate特定的烦恼,你唯一可以做的就是将你的字段映射为String并手动执行必要的转换(在getters / setter中).

但在实践中,几乎每个基于JPA的大型应用程序都使用持久性提供程序的一些实现特定功能,因此我不认为在这种情况下避免依赖于Hibernate非常重要.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读