0
ユーザーとコメントの関係は多岐にわたります。それは動作しますが、ユーザーは1つのコメントしか作成できません。キーをユニークにする別の生成されたIDを追加する必要があります。Spring jpa data jpa IdClassを使用した3つの主キーとの合成
Commentクラス
@Entity
@IdClass(CommentPK.class)
public class Comment {
@Id
private Long id;
@Id
@ManyToOne
@JoinColumn(name = "gameID" ,referencedColumnName = "id")
private Game game;
@Id
@ManyToOne
@JoinColumn(name = "userID",referencedColumnName = "id")
private User user;
private String Text;
public Comment() {
super();
this.id = null;
this.game = null;
this.user = null;
Text = null;
}
public Comment(Game game, User user, String text) {
this();
this.id = null;
this.game = game;
this.user = user;
Text = text;
}
public Comment(Game game, String text) {
this();
this.id = null;
this.game = game;
this.Text = text;
} }//setters and getters
CommentPK
public class CommentPK implements Serializable {
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private Long game;
private Long user; }//setters and getters
エラーがないことのすべては、本当に大きいです
Can not set java.lang.Long field guru.springframework.domain.CommentPK.game to guru.springframework.domain.TF_Game
生成されたIDなしで正常に動作していました。
なぜですか?なぜあなたはそのような複雑な生活をしていますか?なぜあなたはエンティティのために、単一列の純粋に技術的な自動生成された主キーを使用しないのですか? –
私はゲームのコメントを取得する必要がありますまた、ユーザーのコメントを得ることができますか?ゲームが削除されたときにコメントも削除されました –
それはエンティティの** ID **にユーザとゲームを置く理由ではありません。それらをIDでなくエンティティの一部にする。 –