からその親を参照したい場合は、this answerに記載されているように、この埋め込みフィールドにはセッターで親を「手動」に設定して@Access(AccessType.PROPERTY)を使用できますが、この埋め込み要素がコレクションにマッピングされているとどうなりますか、それは怠惰に読み込まれていますか?JPA:@Embeddableオブジェクトは、所有者への参照をどのように戻すことができますか?@Embeddableは遅延コレクションにありますか?
0
A
答えて
0
これは問題であるかどうか実際には分かりません。手動ではなく、@embeddableからその親に戻って参照する場合はすべて問題ありません。
は、エンティティのプライマリテーブルを参照するコレクションテーブルの外部キー列を設定するために使用されます。つまり、このオプションのプロパティを設定すると、@ EMBEDDABLEから親。
は一例として、あなたのケースを使用してください:
@Entity
public class Image {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
....
@ElementCollection(fetch = FetchType.LAZY)
@CollectionTable(name = "COMPUTERS", joinColumns = @JoinColumn(name = "ID_IMAGE"))
private List<Computer> computers;
}
@Embeddable
public class Computer {
@Column
private String ipAddress;
*****//This idImage field is not necessary
@Column(name = "ID_IMAGE", insertable = false, updatable = false)
private Long idImage;*****
}
は一度フィールドidImageとその@Columnアノテーションをコメントアウトし、生成されたSQLは次のとおりです。
create table IMAGES (
id bigint not null,
Name_Image varchar(255),
primary key (id)
)
create table COMPUTERS (
ID_IMAGE bigint not null,
ipAddress varchar(255)
)
alter table COMPUTERS
add constraint FKl1ucm93ttye8p8i9s5cgrurh
foreign key (ID_IMAGE)
references IMAGES
"手動" に参加列を宣言した場合埋め込み可能なクラスはDDLは同じですが、埋め込み可能なオブジェクトには1つの追加のフィールド "imageId"が含まれます。これにより、INSERT操作を実行するときにインデックスからJDBC呼び出しパラメータが外れます。
関連する問題
- 1. embeddable jpaクラスはequalsとhashCodeを実装する必要がありますか?
- 2. JPAでEmbeddableクラスを拡張する
- 3. @Embeddableクラスをオプションにしますか?
- 4. は@Embeddable
- 5. @embeddableとコレクションのマッピングのための@entity
- 6. JPA - 遅延ロードされたエンティティ参照にフィールドがありますnull
- 7. オブジェクトはJavaScriptでどのように参照できますか?
- 8. 遅延アニメーションをどのように元に戻すことができますか?
- 9. gitはどのようにリポジトリの所有者を識別できますか?
- 10. stm32l152RCの遅延はどのように働きますか?
- 11. 場所と参加者に違いはありますか?
- 12. JPA:インターフェイスで@Embeddableと@EmbeddedIdを使用する
- 13. Doctrine embeddable
- 14. vb.net:非共有メンバーへの参照では、random.nextでオブジェクト参照が発生する必要があります
- 15. Windows Formの所有者を参照するにはどうすればよいですか?
- 16. インターフェイスへのヌル参照はどのように値を返すことができますか?
- 17. @Embeddable主キーを持つJPAはPKのJDBC INSERTを生成します
- 18. NHibernateのHibernateの@embeddable/EFのComplexTypeConfigurationに相当しますか?
- 19. JPA:この地図コレクションにはどのように注釈を付ける必要がありますか?
- 20. オブジェクトへの参照がある場合、Javaセッションが期限切れになることはありますか?
- 21. GroovyShellバインディングは、setVariableを実行するときにオブジェクトへの参照を渡すことができますか?
- 22. オブジェクトのパブリックプロパティはオブジェクトへの参照を有効に保ちますか?
- 23. ArrayLists内のオブジェクトには参照がありますか?
- 24. MeteorJsでは、既存のmongoコレクションをどのように参照しますか?
- 25. デストラクタでオブジェクトへの参照を作成するとどうなりますか?
- 26. は、どのように私は私のMVC3のビューにオブジェクトのコレクションを渡すことができますか?
- 27. 参照先のFreemarker Hibernateクラスはどこにありますか
- 28. .vcprojファイル構造の参照はどこにありますか?
- 29. データベースエンティティの参照はどこにありますか?
- 30. vtableへの未定義参照はどこにありますか?