从休眠模式4.3.11.Final升级到5.4.3.Final后,如何解决MappingExceptions?

时间:2019-06-12 15:31:33

标签: hibernate migration hibernate-mapping

我有一个相当大的项目,一直在使用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时所见的常见问题。我不知道这是否是休眠注释的问题也许sessionFactoy发生了变化?但是我得到的那些错误不是很有帮助。我已经查看了迁移指南以寻求帮助,但没有发现任何明显的问题。任何帮助或建议,将不胜感激。

1 个答案:

答案 0 :(得分:0)

从Hibernate 4迁移到5时,我遇到了同样的问题。

问题(至少对我来说)是实体中使用了已弃用的@Index批注,该批注包含[path.to.my.pojo.object]的集合。

@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(indexes = ...)(我尚未完成)再次添加索引