org.hibernate.AnnotationException: property from @OrderBy clause not found: entity.KpsysLog.account
at org.hibernate.cfg.annotations.CollectionBinder.buildOrderByClauseFromHql(CollectionBinder.java:979)
at org.hibernate.cfg.annotations.CollectionBinder.bindOneToManySecondPass(CollectionBinder.java:743)
at org.hibernate.cfg.annotations.CollectionBinder.bindStarToManySecondPass(CollectionBinder.java:696)
at org.hibernate.cfg.annotations.CollectionBinder$1.secondPass(CollectionBinder.java:645)
at org.hibernate.cfg.CollectionSecondPass.doSecondPass(CollectionSecondPass.java:65)
at org.hibernate.cfg.Configuration.originalSecondPassCompile(Configuration.java:1716)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1423)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1375)
at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1226)
at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:173)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:854)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:191)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:253)
... 71 more
解决方式:
user_table原代码:
@OneToMany(cascade={CascadeType.REMOVE},fetch=FetchType.EAGER,mappedBy="usert")
@OrderBy("account ASC") 这里的字段需要时被关联的对象的属性
private Set<KpsysLog> kpsyslog;
改为:
@OneToMany(cascade={CascadeType.REMOVE},fetch=FetchType.EAGER,mappedBy="usert")
@OrderBy("logID ASC") “logID"是被关联实体KpsysLog的主键属性
private Set<KpsysLog> kpsyslog;