Как отфильтровать от сопоставленной сущности в java с помощью диспетчера сущностей - PullRequest
0 голосов
/ 12 марта 2020

Приведенный ниже запрос не дает правильных результатов, когда я пытаюсь отфильтровать левую внешнюю сущность соединения через entityManager.createQuery в TypedQuery

   @Entity
    Class A{
     @Column(name="Duration")  
     private int a;
     @Column(name=ID)
     private int b;

     @OnetoMany
     private List<B> classB;
    }

    @Entity
    Class B{
      @Column(name="Duration")
      private int a;

      @Column(name="country") 
      private String b;

      @ManytoOne
      private A classA;
    }

После использования запроса создания с помощью TypedQuery:

TypedQuery<A> query=entityManager.createQuery("Select distinct ce from A ce join ce.classB cm where ce.ID<5 and cm.Duration<20 and cm.country='US' ")

whereClause не работает для cm.duration и cm.country. Это работает для ce.id <5. Я не получаю никакой ошибки, но мои результаты не фильтруются. Не знаю, почему это происходит. </p>

...