Hibernate JPA @NamedEntityGraphで継承された属性を参照するにはどうすればよいですか?

ジョッキ

私のプロジェクトには次のマッピングがあります。

@Embeddable
class LineItem {
    ...
}

@Entity
abstract class Invoice {
    ...
    @ElementCollection @OrderColumn @NotEmpty
    List<LineItem> lineItems = []
    ...
}

@Entity
class PurchaseInvoice extends Invoice {
    ...
    @OneToOne(cascade=CascadeType.ALL, orphanRemoval=true)
    Payment payment
    ...
}

@Entity
class Payment {
    ...
    @ElementCollection @OrderColumn
    List<PaymentTerm> paymentTerms = []
    ...
}

@Embeddable
class PaymentTerm {
    ...
}

すべてのコレクションの関連付けは、デフォルトでは遅延しています。私の目標は、PurchaseInvoice.lineItemsを熱心にロードするために使用できるエンティティグラフを作成することPurchaseInvoice.payment.paymentTermsです。

次のエンティティグラフを定義すると、次のようになります。

@NamedEntityGraph(name='PurchaseInvoiceWithDetail', attributeNodes = [
     @NamedAttributeNode(value='payment', subgraph='payment'),
     @NamedAttributeNode(value='lineItems')
], subgraphs = [
     @NamedSubgraph(name='payment', type=Payment, attributeNodes = [
         @NamedAttributeNode(value='paymentTerms')
     ])
])
@Entity
class PurchaseInvoice extends Invoice

次のエンティティマネージャファクトリを構築できませんというエラーが発生しました。

java.lang.IllegalArgumentException: Unable to locate Attribute  with the given name [lineItems] on this ManagedType [PurchaseInvoice]

JPA 2.1エンティティグラフのスーパークラス(またはサブクラス)の属性を参照する適切な方法は何ですか?

ジョッキ

これは、hibernate-entitymanager4.3.4ではサポートされていません。これは私がこれまでに見つけたものです:

  1. @NamedAttributeNode スーパークラスの属性を参照するために使用することはできません
  2. includeAllAttributes=true スーパークラスの属性を含むすべての属性が含まれます。
  3. @NamedAttributeNode サブグラフでは、スーパークラスの属性を参照できます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

継承が含まれる場合、Hibernate / JPAで列名を指定するにはどうすればよいですか?

分類Dev

Spring / JPA / Hibernateでネストされたエンティティからオブジェクトを取得するにはどうすればよいですか?

分類Dev

Hibernate / JPAで「オプションの」関係を実装するにはどうすればよいですか?

分類Dev

JPA Hibernateで外部列をソートするにはどうすればよいですか?

分類Dev

JTA(Bitronix)/ JPA / Hibernate-EntitymanagerからXAResourceを取得するにはどうすればよいですか?

分類Dev

JPA / Hibernateを使用して子のIDで親のIDを参照するにはどうすればよいですか?

分類Dev

HibernateとJPAの優れた継承戦略とは何ですか?

分類Dev

Spring Data JPA @ Modifying @ QueryクエリのJPA / Hibernate @Versionフィールドを更新するにはどうすればよいですか?

分類Dev

継承されたクラスのJPA / Hibernate関係はnullを返します

分類Dev

他のスキーマからOracleテーブルへのSpringData JPA(Hibernate)ORMマッピングを使用するにはどうすればよいですか?

分類Dev

Hibernate / JPAアノテーションを使用してGenerationType戦略をオーバーライドするにはどうすればよいですか?

分類Dev

HibernateとHibernate JPAの違い

分類Dev

JPA / Hibernateを使用してデータベースビューまたはSpring Bootのプロシージャから派生/計算された列をフェッチし、事前定義された列と一緒に使用するにはどうすればよいですか?

分類Dev

HibernateとJPAでストアドプロシージャを呼び出すにはどうすればよいですか?

分類Dev

JPA(+ Hibernate)で継承された抽象クラス

分類Dev

HibernateとSpring-bootを使用してJPAクエリからSUMを返すにはどうすればよいですか?

分類Dev

JPAで使用するときにHibernateにデータベースにテーブルを自動的に作成させるにはどうすればよいですか?

分類Dev

JPAとHibernateで関連付けられた読み取り専用エンティティの単一インスタンスを取得するにはどうすればよいですか?

分類Dev

複数のテーブルのフィールドが必要な場合に、JPAでHibernateを使用して「爆発」を結合しないようにするにはどうすればよいですか?

分類Dev

I18nをJPAまたはHibernateエンティティのJSONオブジェクトとして実装するにはどうすればよいですか?

分類Dev

EntityManagerFactoryがビルドされた後、Hibernate構成を取得するにはどうすればよいですか?

分類Dev

Hibernateを使用して、SpringデータJPAのすべてのfindメソッドにグローバルwhere句を追加するにはどうすればよいですか?

分類Dev

JPAでHibernateのsaveOrUpdateをどのように複製できますか?

分類Dev

Oracle 10g方言でHibernateを使用して、JPAでhibernate_sequenceという名前のシーケンスが作成されるのはなぜですか?

分類Dev

spring-boot、spring-data-jpa、およびhibernateを使用して「カスケードなし」の動作を取得するにはどうすればよいですか?

分類Dev

HibernateとJPAを使用して親オブジェクトを使用して子オブジェクトを自動的に保存するにはどうすればよいですか?

分類Dev

JPAのHibernateまたはEclipseLink?

分類Dev

JPAまたはHibernate for Java Persistence?

分類Dev

エンティティがJPA / Hibernateでデタッチされているかどうかを確認する方法は?

Related 関連記事

  1. 1

    継承が含まれる場合、Hibernate / JPAで列名を指定するにはどうすればよいですか?

  2. 2

    Spring / JPA / Hibernateでネストされたエンティティからオブジェクトを取得するにはどうすればよいですか?

  3. 3

    Hibernate / JPAで「オプションの」関係を実装するにはどうすればよいですか?

  4. 4

    JPA Hibernateで外部列をソートするにはどうすればよいですか?

  5. 5

    JTA(Bitronix)/ JPA / Hibernate-EntitymanagerからXAResourceを取得するにはどうすればよいですか?

  6. 6

    JPA / Hibernateを使用して子のIDで親のIDを参照するにはどうすればよいですか?

  7. 7

    HibernateとJPAの優れた継承戦略とは何ですか?

  8. 8

    Spring Data JPA @ Modifying @ QueryクエリのJPA / Hibernate @Versionフィールドを更新するにはどうすればよいですか?

  9. 9

    継承されたクラスのJPA / Hibernate関係はnullを返します

  10. 10

    他のスキーマからOracleテーブルへのSpringData JPA(Hibernate)ORMマッピングを使用するにはどうすればよいですか?

  11. 11

    Hibernate / JPAアノテーションを使用してGenerationType戦略をオーバーライドするにはどうすればよいですか?

  12. 12

    HibernateとHibernate JPAの違い

  13. 13

    JPA / Hibernateを使用してデータベースビューまたはSpring Bootのプロシージャから派生/計算された列をフェッチし、事前定義された列と一緒に使用するにはどうすればよいですか?

  14. 14

    HibernateとJPAでストアドプロシージャを呼び出すにはどうすればよいですか?

  15. 15

    JPA(+ Hibernate)で継承された抽象クラス

  16. 16

    HibernateとSpring-bootを使用してJPAクエリからSUMを返すにはどうすればよいですか?

  17. 17

    JPAで使用するときにHibernateにデータベースにテーブルを自動的に作成させるにはどうすればよいですか?

  18. 18

    JPAとHibernateで関連付けられた読み取り専用エンティティの単一インスタンスを取得するにはどうすればよいですか?

  19. 19

    複数のテーブルのフィールドが必要な場合に、JPAでHibernateを使用して「爆発」を結合しないようにするにはどうすればよいですか?

  20. 20

    I18nをJPAまたはHibernateエンティティのJSONオブジェクトとして実装するにはどうすればよいですか?

  21. 21

    EntityManagerFactoryがビルドされた後、Hibernate構成を取得するにはどうすればよいですか?

  22. 22

    Hibernateを使用して、SpringデータJPAのすべてのfindメソッドにグローバルwhere句を追加するにはどうすればよいですか?

  23. 23

    JPAでHibernateのsaveOrUpdateをどのように複製できますか?

  24. 24

    Oracle 10g方言でHibernateを使用して、JPAでhibernate_sequenceという名前のシーケンスが作成されるのはなぜですか?

  25. 25

    spring-boot、spring-data-jpa、およびhibernateを使用して「カスケードなし」の動作を取得するにはどうすればよいですか?

  26. 26

    HibernateとJPAを使用して親オブジェクトを使用して子オブジェクトを自動的に保存するにはどうすればよいですか?

  27. 27

    JPAのHibernateまたはEclipseLink?

  28. 28

    JPAまたはHibernate for Java Persistence?

  29. 29

    エンティティがJPA / Hibernateでデタッチされているかどうかを確認する方法は?

ホットタグ

アーカイブ