为什么Hibernate会忽略package-info.java?

我正在尝试在包级别上使用Hibernate @TypeDef注释,就像在Hibernate文档中描述的那样。 我正在使用Hibernate 3.6Spring 3.0.7 。 代码编译, package-info.class在类路径中,但Hibernate看不到它。

如果我把@TypeDef放在类级别上,它可以工作,但是如果我输入package-info则不行。 我试图谷歌但找不到任何有用的东西。

谢谢!

你可能需要添加一个

  

到您的Hibernate配置文件,或调用configuration.addPackage(“com.foo.bar.thepackage”) 。

对于Hibernate 4,您必须添加

  

到您的Hibernate配置文件。

如果使用JPA,请使用

  <类> com.foo.bar.thepackage  

在persistence.xml中也应该有效。

我相信这是由于Spring中的一个错误,它不会扫描package-info中的注释,而只会扫描使用@ Entity,@ Embeddable或@MappedSuperclass注释的类上的注释。 请参阅https://jira.springsource.org/browse/SPR-8589 。