我正在尝试建立两个表Master
和Groups
之间的一对一关系,下面是使用Groups定义的关联。
Class: Master
我正在使用Groups表连接3列,其中一列可以为null,当JPA生成查询时,对于null值字段,check检查无效,因为它检查=
运算符而不是is null
检查。
当SUBGRP
值null
检查SUBGRP = null
对null
次检查无效<{1}}时,会发生什么?
当值null
检查它应该使用SUBGRP时,我期待的是NULL。因为当我使用SUBGRP =null
查询sql时,它不会返回任何数据,但当我将其更改为SUBGRP
时,null
我会获得数据。
JPA GENERATED QUERY: (added here only where condition)
where grpNm=? and subgrp=? and pkg=?
org.hibernate.type.descriptor.sql.BasicBinder.bind:65 - binding parameter [1] as [VARCHAR] - [111111]
org.hibernate.type.descriptor.sql.BasicBinder.bind:53 - binding parameter [2] as [VARCHAR] - [null]
org.hibernate.type.descriptor.sql.BasicBinder.bind:65 - binding parameter [3] as [VARCHAR] - [888]
@OneToOne(cascade = {CascadeType.ALL},fetch = FetchType.LAZY)
@Fetch(FetchMode.JOIN)
@JoinColumns({
@JoinColumn(name = "GRPNM", referencedColumnName = "GRPNM", updatable=false, insertable=false),
@JoinColumn(name = "SUBGRP", referencedColumnName = "SUBGRP", updatable=false, insertable=false, nullable = true),
@JoinColumn(name = "PKG", referencedColumnName = "PKG", updatable=false, insertable=false)
})
protected Group group;
任何人都可以建议我在其中一个加入列为null
并且应该is null
而不是= null
检查时如何解决此问题?