2016-09-15 4 views
0

`s möglich, eine Karte mit Hibernate @ManyToOne zu erstellen, wie folgt aus:Hibernate @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; 

} 

Aber in einigen Fällen habe ich Verband nicht oder in meinem Tisch IndicadorAtos einen Code haben, dass don`t Atos existis in Tabelle

dies ist meine Tabellen:

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

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

ich versuche, diese kommen zu erstellen:

Wähle t FROM IndicadorAtos t, Atos a wo t.cod_ato = a.cod_ato, aber ich muss alle Datensätze von meinem IndicadorAtos zurückgeben, und mit dieser Option gibt er nur alle Itens zurück, die ein Item in Atos haben.

tks

Antwort

0

`s möglich, eine Karte mit Hibernate @ManyToOne

Ja zu schaffen; es heißt unidirektionale Beziehung.

Wenn ich Ihre Frage richtig verstanden habe, möchten Sie alle Einträge aus IndicadorAtos mit möglicherweise zugeordneten Einträge aus Atos auswählen. Sie können dies erreichen, indem linken Join wie folgt:

SELECT t FROM IndicadorAtos t LEFT JOIN t.atos at 

vorausgesetzt, dass Sie ein Unternehmen haben Atos definiert wie:

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

    private String name; 

    // getters and setters 
} 
Verwandte Themen