0

実行するEntityManager.find()と、次の例外がスローされます。

原因: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: フィールド リストの列 'date' があいまいです

検索しようとしているクラス (プロファイル) には、別のエンティティ クラス (ギャラリー) と双方向の 1 対 1 の関係があります。whyこの例外がスローされることを理解howし、解決するための助けをいただければ幸いです。以下に、2 つのエンティティ クラスを示します。

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
 }
 ...
} 
4

1 に答える 1

1

「date」が予約語だからじゃない?これを「日付」プロパティ (またはゲッター) に追加してみてください。プロパティ名を引用します。

@Column(name="`date`")
于 2010-12-18T07:34:03.000 に答える