导致MySQLIntegrityConstraintViolationException的EntityManager.find方法

时间:2010-12-17 23:55:17

标签: java mysql hibernate jpa ambiguous

当我执行EntityManager.find()时,抛出以下异常:

  

引起:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:   字段列表中的列“日期”不明确

我试图找到的类(Profile)与另一个实体类(Gallery)具有双向一对一的关系。我很感激帮助您理解why抛出此异常并how解决此问题。以下是两个实体类:

public class Profile {
 ...
 private java.sql.Date date;
 private my.webapp.Gallery gallery;
 ...

 @OneToOne
 @JoinColumn(name="gallery_id")
 public my.webapp.Gallery getGallery() {
   return gallery
 }
 ...
}

public class Gallery {
 ...
 private my.webapp.Profile profile;
 ...

 @OneToOne(mappedBy="gallery")
 public my.webapp.Profile getProfile() {
   return profile
 }
 ...
} 

1 个答案:

答案 0 :(得分:1)

不是因为“date”是保留关键字吗?尝试将其添加到“date”属性(或getter)。它将引用属性名称。

@Column(name="`date`")