您的位置:首页 > 其它

Hibernate 实体类 映射文件使用注解方式 经典报错以及解决方法

2017-02-18 17:03 543 查看
今天程序中遇到的
错误一

org.hibernate.AnnotationException: Collection has neither generic type or OneToMany.targetEntity() defined: com.hibernate.SubStation.bays

错误解决方法

org.hibernate.AnnotationException: Collection has neither generic type or OneToMany.targetEntity() defined: org.svse.org.model.Order.orderItems

在用annotation做数据库映射一对多和多对一的时候要注意:因为这个问题只有在用annotation的时候才有,用xml文件的时候就没有在一对多关系映射中

一的一方直接写Set就可以不用指定相应的元素类型!!
请 检查orderItems这个属性是否使用了泛型,如:Set<OrderItem>.

如 果未使用泛型,请在OneToMany注释中使用targetEntity指定元素的类型

错误二

org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: com.hibernate.Bay.group in com.hibernate.SubStation.bays
错误解决方法
在用annotation做数据库映射一对多和多对一的时候要注意:

@OneToMany(mappedBy = "news_type", cascade = CascadeType.ALL,fetch = FetchType.LAZY)  这里的mappedBy
要对应

@ManyToOne

@JoinColumn(name="news_type", nullable=true, insertable = true, updatable = true)

private NewsType newsType;的NewsType对象名,也就是newsType而不是字段名news_type。

错误三

node to traverse cannot be null!
出现这种问题是因为HQL语句出现问题,引起内部查询对象为空,无法处理为空值引起的。解决方法,检查HQL语句(尤其是关键字)。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐