Many-to-Many query jpql

39,374
select distinct distributor 
from Distributor distributor  
join distributor.towns town 
join town.district district 
where district.name = :name

See: https://en.wikibooks.org/wiki/Java_Persistence/JPQL

Share:
39,374
Skizzo
Author by

Skizzo

Just a JavaEE developer

Updated on August 13, 2020

Comments

  • Skizzo
    Skizzo almost 4 years

    I have the followed trouble.

    There is an entity Distributor who is connected with the ManyToMany relationship to entity town:

    @Entity
    public class Distributor{
    
       @ManyToMany
       @JoinTable( name = "GS_DISTRIBUTOR_TOWN",
               joinColumns = @JoinColumn(name = "CD_DISTRIBUTOR"),
               inverseJoinColumns = @JoinColumn(name = "CD_TOWN") )
       private List<Town> towns;
    
       ....
    }
    

    Then the entity town is also in relation with District

    @Entity
    public class Town{
    
       @ManyToMany(mappedBy="towns")
       private List<Distributor> distributors;
    
       @ManyToOne
       private District district;
    
       ....
    }
    

    Now i have to filter(with jpql) all distributor who are in a district. How can i do?

  • Ojonugwa Jude Ochalifu
    Ojonugwa Jude Ochalifu over 3 years
    This should be a comment since it doesn't answer the question asked.