我正在尝试在包级别上使用Hibernate @TypeDef注释,正如Hibernate documentation中所描述的那样。
我正在使用Hibernate 3.6
和Spring 3.0.7
。代码编译,package-info.class
在类路径中,但Hibernate看不到它。
如果我将@TypeDef
放在课程级别上,它会起作用,但如果我放入package-info
则不行。我试图谷歌但找不到任何有用的东西。
谢谢!
答案 0 :(得分:6)
您可能需要添加
<resource package="com.foo.bar.thepackage"/>
到你的Hibernate配置文件,或者拨打configuration.addPackage("com.foo.bar.thepackage")。
答案 1 :(得分:2)
对于Hibernate 4,您必须添加
<mapping package="com.foo.bar.thepackage">
到您的Hibernate配置文件。
答案 2 :(得分:2)
如果使用JPA,在persistence.xml中使用
<class>com.foo.bar.thepackage</class>也应该有效。
答案 3 :(得分:2)
我认为这是由于Spring中的一个错误,它不会扫描package-info中的注释,而只会扫描使用@ Entity,@ Embeddable或@MappedSuperclass注释的类上的注释。请参阅https://jira.springsource.org/browse/SPR-8589。