码迷,mamicode.com
首页 > 其他好文 > 详细

JPA错误

时间:2016-11-01 11:29:12      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:mode   接下来   target   hiberna   http   .com   image   规范   inverse   

1.2016-10-31:

hibernate用注解 一对多 报Could not determine type for错误

技术分享

原因:  接下来继续解决第二个问题:怎么又与集合打交道啦,哎搞个东西真是一波三折啊。那就从集合上找问题啦。到关网论坛一查,原来是这个东西放错地啦,但是一般情况下这样做也不会报错,既然有问题就改下喽:
    @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE },targetEntity=com.itdcl.agcds.webinfo.model.SysCourse.class)
@JoinTable(name = "SYS_THEACHER_COURSE", joinColumns = { @JoinColumn(name = "THEACHER_ID") }, inverseJoinColumns = { @JoinColumn(name = "COURSE_ID") })
@Fetch(FetchMode.SUBSELECT)
@OrderBy("theacherId")
public List<SysCourse> getCourse() {
return course;
}
  改成下面这样就没事哒:
@ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE },targetEntity=com.itdcl.agcds.webinfo.model.SysCourse.class)
@JoinTable(name = "SYS_THEACHER_COURSE", joinColumns = { @JoinColumn(name = "THEACHER_ID") }, inverseJoinColumns = { @JoinColumn(name = "COURSE_ID") })
@Fetch(FetchMode.SUBSELECT)
@OrderBy("theacherId")
private List<SysCourse> course = new ArrayList<SysCourse>();

验证确实有效


2.2016-10-31

技术分享

技术分享

原因:1.实体类中定义了重复的声明

2。技术分享

这里的houseId原先没有被注释,就一直抱这个错,原因其实是,创建DAO层对象时抛出异常,而不是实体类映射抛异常

 

 3.2016-11-01技术分享

原因:注解只能加在声明上,如在get方法上注解就会报这个错

技术分享

4.2016-11-01

技术分享

原因:把注解加在了get方法上,把注解加在声明上就不会报错

技术分享

 5.2016-11-01

技术分享

原因;把注解加在了声明上,就没办法进行映射,感觉有时候要加get方法上有时候要加声明上,之所以这种感觉是因为JPA的注解规范要一致

1.有时候要加在声明上是因为继承一个类里面的注解都是在声明上

2.需要加在方法上,因为这个类没有继承,但是为什么加在声明上就不行还不清楚

技术分享

6.2016-11-01

技术分享

 

JPA错误

标签:mode   接下来   target   hiberna   http   .com   image   规范   inverse   

原文地址:http://www.cnblogs.com/jianyi12/p/6018758.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!