我有2张桌子:
第一个具有id,column1,column2,column3。 第二个具有id,column1,column2,column4。
第一个实体:
@Entity
public class FirstEntity {
@Id
private Integer id;
@OneToMany
@JoinColumns({
@JoinColumn(name = "column1", referencedColumnName = "column1"),
@JoinColumn(name = "column2", referencedColumnName = "column2")
})
private List<SecondEntity> secondEntity;
}
因此,联接可以正常工作,但有一个例外:两个表中的column2都可以为null。在那种情况下,具有相同column1值(column2为null)的行也应加入。
使用SQL,我将连接条件更新为
,从而成功实现了这一目标table1.column1 = table2.column1 and (coalesce(table1.column2, '') = coalesce(table2.column2, '')).
为了获得null列的secondEntity字段集,可以使用Jpa(特别是Hibernate)做什么?