官方文档"创建本地管理员 " 问题

官方文档 创建本地管理员 - CUBA 框架开发者手册 (cuba-platform.cn)
以下写法好像也存在问题

 where h.group.id = :session$userGroupId or h.parent.id = :session$userGroupId

产生的SQL如下:

IN (SELECT t1.ID FROM SEC_GROUP_HIERARCHY t2, SEC_GROUP t1 WHERE (((t2.GROUP_ID = ?) OR (t2.PARENT_ID = ?)) AND ((t1.ID = t2.GROUP_ID) AND (t1.DELETE_TS IS NULL)))) AND (t0.DELETE_TS IS NULL)

t1.ID = t2.GROUP_ID使得结果不正确了

相关问题: 关于JPQL使用or查询的一个疑问?

如下写法好像可以

{E}.group.id =:session$userGroupId or {E}.group.id in(
  select h.group.id from sec$GroupHierarchy h
  where h.parent.id = :session$userGroupId
))

测试了一下没问题,文档的写法肯定有问题

1 个赞