我有一个相当大的项目,一直在使用hibernate 4.3.11.Final,没有任何问题。我升级到休眠 5.4.3.Final,现在我在启动应用程序时收到几个 MappingException 错误。以下是错误的外观:
org.hibernate.MappingException: property [testname] not found on entity [path.to.my.pojo.object]
我知道这不是很多细节,但我希望有人会认识到这是他们在从休眠 4 升级到 5 时看到的常见问题。我无法弄清楚这是休眠注释的问题还是会话Factoy已更改的问题?但是我得到的那些错误并不是很有帮助。我已经查看了迁移指南以获取帮助,但没有看到任何明显的东西。任何帮助或建议将不胜感激。
我只是在从 Hibernate 4 迁移到 5 时遇到了同样的问题。
问题(至少对我来说(是在包含 [path.to.my.pojo.object] 集合的实体中使用了已弃用的@Index注释。
@OneToMany(orphanRemoval = true, cascade = CascadeType.ALL)
@JoinColumn(name = "contactId", nullable = false)
@Filter(name = FilterConstants.SOMEFILTER)
@Index(name = "SOME_IDX") // <= deprecated
@Fetch(FetchMode.SUBSELECT)
private List<TestDBO> tests = new ArrayList<TestDBO>();
删除@Index注释会使异常消失。
可能应该使用 @Table(索引 = ...( 再次添加索引(我还没有这样做(