2016-09-23 191 views
0

我有兩個表,表示爲2 beans:ProcessType和Typology。休眠HQL:多對多

在DB有代表的許多人這兩個表之間的許多維吾爾第三個表,該表doesen't有一顆豆,被稱爲process_type_typology

表有2列:類型學和process_type

在ProcessType我有以下屬性表示的關係:

  @ManyToMany(fetch = FetchType.LAZY) 
      @JoinTable(name = "process_types_typology" , 
      joinColumns = {@JoinColumn(name = "process_type")} , 
      inverseJoinColumns = {@JoinColumn(name = "typology")}) 
      private Set<Typology> typologies = new HashSet<Typology>(0);    

然後在類型學:

  @ManyToMany(fetch = FetchType.LAZY) 
      @JoinTable(name = "process_types_typology" , 
      joinColumns = {@JoinColumn(name = "typology")} , 
      inverseJoinColumns = {@JoinColumn(name = "process_type")}) 
      private Set<ProcessType> processTypes = new HashSet<ProcessType>(0); 

我怎樣才能讓那些2個表之間的連接?第三個表格沒有映射,所以我不'有想法。

在SQL查詢是這樣的:

from processType inner join process_types_typology ptt on pt.id_process_type=ptt_.process_type 

回答

0

剛剛加入ProcessTypeTypology,Hibernate會照顧提及的關係表中生成的SQL:

from ProcessType pt join pt.typologies t 

而且,由於該協會是雙向的,請務必聲明一方爲inverse