首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JPA Hibernate Typedef

JPA Hibernate Typedef
EN

Stack Overflow用户
提问于 2012-05-15 18:03:09
回答 2查看 4.9K关注 0票数 0

在这个项目中,我使用了带有Hibernate实现的JPA。所有实体都是基于注释的,并在persistence.xml中列出。

所有实体都打包到jar中。

我需要为几个属性(在所有实体中)定义一个类型定义函数,这些属性是枚举类型的字符串。在DB中,列是varchar。我如何才能做到这一点?

我可以通过添加hbm.xml和hibernate-cfg.xml来实现这一点吗?

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-15 20:38:16

直接从the documentation

@org.hibernate.annotations.TypeDef和@org.hibernate.annotations.TypeDefs允许您声明类型定义。这些注释可以放在类或包级别。请注意,这些定义对于会话工厂是全局的(即使是在类级别定义的)。如果在单个实体上使用该类型,则可以将定义放在该实体本身上。否则,建议将定义放在包级别。

票数 3
EN

Stack Overflow用户

发布于 2012-07-25 15:17:05

如果您不能更改类,但可以更改hibernate配置,我认为您可以将hibernate.mapping.precedence更改为" hbm,class",然后添加hbm文件,其中包含相关类的注释中的所有信息。有一种用于指定UserType或EnumType的hbm语法。如果使用UserType类,还必须定义该类。

在相信我的话之前,你可能想在测试项目中尝试一下,我假设它会工作,但我不确定。

将所有的持久性信息从注释复制到hbm可能是一件痛苦的事情,并且会重复信息。如果可能,请尝试找到一种方法将注释添加到类本身。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10598396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档