JPAとJPQLクエリの1対多の関係を組み合わせたクエリの作成

Ating

私はデータベースを持っています。1対多の関係で。

pet 1--* event.

特定の日にイベントが発生したすべてのペットを選択するクエリを作成したいと思います。(SQLの日付形式を使用しています)

今のところ、ハードコードされた日付で、すべてのエンティティを取得できるようにしたいだけです。

これが私のPetEntityテーブルの参照です

@OneToMany
private List<EventEntity> events = new ArrayList();

そして私のEventEntityで

@ManyToOne
PetEntity pet;

リポジトリを使用してデータ層を処理し、次にファサードを使用してロジック(存在する場合)を処理するパターンを使用しています

これまで私はこのような方法を作りました。

  public Set<PetEntity> getPetsWithEvents(Date date){
    EntityManager em = emf.createEntityManager();
    Set<PetEntity> entities = new HashSet<>();
    List<EventEntity> eventEntities=  
em.createQuery("SELECT e from EventEntity e where e.date =: date", EventEntity.class).setParameter("date", date).getResultList();
        for(EventEntity entity: eventEntities){
            entities.add(entity.getPet());
        }
        return  entities;
   }
}

ベントをループして各ペットを見つける代わりに、このメソッドを1つのクエリを使用するように単純にメソッド化する方法はありますか?

マークノート

他の人がすでに述べたように、あなたはペット参加イベントを選択することができるはずです。JPQLは次のようになります。

SELECT p FROM PetEntity p join p.events e
WHERE e.date =: date

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

「CASEWHEN」と「GROUPBY」を組み合わせたクエリの作成

分類Dev

JPQLで1対多の関係をクエリする方法は?

分類Dev

多対多の関係を持つJPQLクエリ

分類Dev

Firestoreクエリ-1対多の関係

分類Dev

mysqlクエリ-1対多の関係

分類Dev

boolクエリをintervalクエリまたはその他のクエリと組み合わせる方法

分類Dev

INクエリとANDクエリの組み合わせ

分類Dev

多対多の関係のクエリ

分類Dev

2つのクエリを1つに組み合わせる

分類Dev

多くの SQL クエリとクエリアウトを bcp 経由で組み合わせる

分類Dev

組み合わせのMysqlクエリ

分類Dev

多対多の関係クエリJPAの問題

分類Dev

JPQL:複合キーを使用してモデル化された多対多の関係を持つエンティティのクエリ

分類Dev

2つのクエリを組み合わせたMySQLAdvanced Ordering

分類Dev

2つのクエリを組み合わせたMysql

分類Dev

SQL 2つのクエリとSUMを組み合わせる

分類Dev

MySQL:2つの多対多の関係と重複を使用したクエリ

分類Dev

クエリを組み合わせるか、1つのクエリを作成する

分類Dev

1対多の関係の左結合での集計関数を使用したSQLクエリ

分類Dev

1つのクエリで最大値と列を組み合わせる

分類Dev

SQLSelectとAVGを1つのクエリに組み合わせる

分類Dev

CoreData:1対多対多の関係へのクエリ

分類Dev

多対多の関係クエリ。Laravel

分類Dev

SqlAlchemyとFlask、多対多の関係をクエリする方法

分類Dev

Laravel-複数のクエリを1つのEloquentクエリとして組み合わせる方法

分類Dev

C#linqで1対多の関係クエリを作成する方法

分類Dev

JPA多対多の関係、不正なSQLクエリが生成されました

分類Dev

JPA多対多の関係、不正なSQLクエリが生成されました

分類Dev

Slick 3.0.0:1対多/多対多の関係をクエリする方法

Related 関連記事

  1. 1

    「CASEWHEN」と「GROUPBY」を組み合わせたクエリの作成

  2. 2

    JPQLで1対多の関係をクエリする方法は?

  3. 3

    多対多の関係を持つJPQLクエリ

  4. 4

    Firestoreクエリ-1対多の関係

  5. 5

    mysqlクエリ-1対多の関係

  6. 6

    boolクエリをintervalクエリまたはその他のクエリと組み合わせる方法

  7. 7

    INクエリとANDクエリの組み合わせ

  8. 8

    多対多の関係のクエリ

  9. 9

    2つのクエリを1つに組み合わせる

  10. 10

    多くの SQL クエリとクエリアウトを bcp 経由で組み合わせる

  11. 11

    組み合わせのMysqlクエリ

  12. 12

    多対多の関係クエリJPAの問題

  13. 13

    JPQL:複合キーを使用してモデル化された多対多の関係を持つエンティティのクエリ

  14. 14

    2つのクエリを組み合わせたMySQLAdvanced Ordering

  15. 15

    2つのクエリを組み合わせたMysql

  16. 16

    SQL 2つのクエリとSUMを組み合わせる

  17. 17

    MySQL:2つの多対多の関係と重複を使用したクエリ

  18. 18

    クエリを組み合わせるか、1つのクエリを作成する

  19. 19

    1対多の関係の左結合での集計関数を使用したSQLクエリ

  20. 20

    1つのクエリで最大値と列を組み合わせる

  21. 21

    SQLSelectとAVGを1つのクエリに組み合わせる

  22. 22

    CoreData:1対多対多の関係へのクエリ

  23. 23

    多対多の関係クエリ。Laravel

  24. 24

    SqlAlchemyとFlask、多対多の関係をクエリする方法

  25. 25

    Laravel-複数のクエリを1つのEloquentクエリとして組み合わせる方法

  26. 26

    C#linqで1対多の関係クエリを作成する方法

  27. 27

    JPA多対多の関係、不正なSQLクエリが生成されました

  28. 28

    JPA多対多の関係、不正なSQLクエリが生成されました

  29. 29

    Slick 3.0.0:1対多/多対多の関係をクエリする方法

ホットタグ

アーカイブ