2016-09-15 117 views
0

它單曲可能創建一個地圖休眠@ManyToOne就像這樣:休眠@ManyToOne

public class IndicadorAtos { 
    @JsonIgnore 
    @Id 
    @Column(name="cod_ato_praticado") 
    private Integer codAtoPraticado; 
    @Column(name="descricao_ato") 
    private String ato; 


    @JoinColumn(name = "cod_ato", referencedColumnName = "cod_ato") 
    @ManyToOne 
    @Fetch(FetchMode.SUBSELECT) 
    private Atos atos; 

} 

但在某些情況下,我沒有關係或是在我的桌子IndicadorAtos有一個代碼,這不`噸existis表阿託斯

這是我的表:

create table IndicadorAtos (
    codAtoPraticado integer primary key, 
    ato varchar(250), 
    cod_ato integer 
); 

create table Atos(
    cod_ato integer primary key. 
    name varchar(250) 
) 

我嘗試創建這個連接:

選擇t來自IndicadorAtos t,Atos a其中t.cod_ato = a.cod_ato,但我需要返回我的IndicadorAtos中的所有記錄,並且使用此選擇,他只返回在Atos中包含一個項目的所有itens。

TKS

回答

0

它單曲可能創建一個地圖休眠@ManyToOne

是;它被稱爲單向關係。

如果我正確理解您的問題,您需要從IndicadorAtos中選擇所有條目,其中可能包含Atos的相關條目。您可以使用左實現這個連接如下:

SELECT t FROM IndicadorAtos t LEFT JOIN t.atos at 

前提是你必須定義的實體Atos,如:

@Entity 
public class Atos { 
    @Id @GeneratedValue 
    private int cod_ato; 

    private String name; 

    // getters and setters 
} 
相關問題