Метод EntityManager.find, приводящий к MySQLIntegrityConstraintViolationException - PullRequest
0 голосов
/ 18 декабря 2010

Когда я выполняю EntityManager.find(), выдается следующее исключение:

Причина: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: столбец date в списке полей является неоднозначным

Класс (профиль), который я пытаюсь найти, имеет двунаправленное отношение один-к-одному с другим классом сущностей (Галерея).Буду признателен за помощь в понимании 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 Ответ

1 голос
/ 18 декабря 2010

Разве это не потому, что "дата" является зарезервированным ключевым словом? Попробуйте добавить это к свойству «date» (или получателю). Будет указано имя свойства.

@Column(name="`date`")
...