我有一个相当大的项目,一直在使用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发生了变化?但是我得到的那些错误不是很有帮助。我已经查看了迁移指南以寻求帮助,但没有发现任何明显的问题。任何帮助或建议,将不胜感激。
答案 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 = ...)(我尚未完成)再次添加索引