我正在尝试在包级别上使用 Hibernate @TypeDef 注释,就像在Hibernate 文档中描述的那样。我正在使用Hibernate 3.6
和Spring 3.0.7
。代码编译并package-info.class
在类路径中,但 Hibernate 仍然看不到它。
如果我放入@TypeDef
班级级别,它可以工作,但如果我放入package-info
. 我试图谷歌但找不到任何有用的东西。
谢谢!
我正在尝试在包级别上使用 Hibernate @TypeDef 注释,就像在Hibernate 文档中描述的那样。我正在使用Hibernate 3.6
和Spring 3.0.7
。代码编译并package-info.class
在类路径中,但 Hibernate 仍然看不到它。
如果我放入@TypeDef
班级级别,它可以工作,但如果我放入package-info
. 我试图谷歌但找不到任何有用的东西。
谢谢!
您可能需要添加一个
<resource package="com.foo.bar.thepackage"/>
到您的 Hibernate 配置文件,或调用configuration.addPackage("com.foo.bar.thepackage")。
对于 Hibernate 4,您必须添加
<mapping package="com.foo.bar.thepackage">
到你的 Hibernate 配置文件。
如果使用 JPA,则使用
<class>com.foo.bar.thepackage</class>在persistence.xml 中也应该可以工作。
我相信这是由于 Spring 中的一个错误,它不会扫描 package-info 中的注释,而只会扫描带有 @Entity、@Embeddable 或 @MappedSuperclass 注释的类上的注释。请参阅https://jira.springsource.org/browse/SPR-8589。