可以使用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;
}
但在某些情况下,我没有关联或在我的表格中,IndicadorAtos有一个代码,不存在于表Atos
这是我的表格:
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 FROM IndicadorAtos t,Atos a其中t.cod_ato = a.cod_ato,但我需要从我的IndicadorAtos返回所有记录,并且使用此选择他只返回在Atos中有一个项目的所有itens。
TKS
答案 0 :(得分:0)
可以使用hibernate @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
}