4.3 关联id
IsNull判断
查询所有parentId
为null的TreeNode
,即根节点。
- Java
- Kotlin
TreeNodeTable table = TreeNodeTable.$;
List<TreeNode> rootNodes = sqlClient
.createQuery(table)
.where(table.parentId().isNull())
.select(table)
.execute();
val rootNodes = sqlClient
.createQuery(TreeNode::class) {
where(table.parentId.isNull())
select(table)
}
.execute()
提示
上述代码中的parentId
,是Jimmer在编译时根据多对一属性TreeNode.parent
自动生成的,
即使开发人员没有配套定义名称为parentId
的@IdView属性也仍然如此。
任意值的判断
事实上,eq
支持null参数,当eq
的参数为null是,就渲染is null
警告
注意:Java的eqIf
和Kotlin的eq?
则不同,null被认为是动态查询,不会渲染任何SQL条件。
- Java
- Kotlin
@Nullable Long parentId = ...略...;
TreeNodeTable table = TreeNodeTable.$;
List<TreeNode> rootNodes = sqlClient
.createQuery(table)
.where(table.parentId().eq(parentId))
.select(table)
.execute();
val parentId: Long? = ...略...;
val rootNodes = sqlClient
.createQuery(TreeNode::class) {
where(table.parentId eq parentId)
select(table)
}
.execute()