0

jpa/spring-data の質問

私はembbededId PlantIdを持つクラスPlantを持っており、EmbbededフィールドPlantIdとしてクラスImageを持っています

これは、各画像が植物に接続することを意味します。接続は 1 対多です (1 つのプラントが多数の画像)

私はそのようなことを試しました(うまくいきません)

@entity
public class Plant{
     @EmbbededId
     PlantId id
}

@entity
public class Image{
     @Id
     Long id

     @Embbeded
     PlantId plantId

     @ManyToOne
     Plant plant

}

探している結果を得るためにコードを修正するにはどうすればよいですか? ありがとう

オーク

編集: Plant の複合 ID がある場合、ManyToOne 関係の列をどのようにマップできますか?

4

1 に答える 1

1

plantId 埋め込み可能オブジェクトを削除すると、ManyToOne マッピングの結合列定義だけが失われるため、JPA は Plant の id フィールドに一致させるために使用する外部キーを認識できます。何かのようなもの:

@ManyToOne
@JoinColumns({
        @JoinColumn(name="FK_1", referencedColumnName="PK1"),
        @JoinColumn(name="FK_2", referencedColumnName="PK2"),
        @JoinColumn(name="FK_3", referencedColumnName="PK3") 
        })
Plant plant;
于 2013-05-08T13:12:00.943 に答える