类似这样 where e.id = :session$idMap[keyName]
1 个赞
是这样吗, 我用的7.2.13, 没有发现不行, 刚回去又测试了一遍, 无论是session$userId还是自己在userSession中加的字面量, 都能在jpql中读取.
对了, 我是用在@JpqlConstraint注解里.
1 个赞
哦,用在JpqlConstraint里面没问题的,那个 issue 是说用在 dataloader 里面不行。
至于你问题里提到的 idMap,这个是什么属性?session 应该是一个 UserSession
对象。
idMap是自定义的一个map, 在程序里手动存进userSession的
1 个赞
这个方式不支持。UserSession 的 attributes 属性是一个 Map<String, Serializable>, 你可以把你的 map 内容都通过 setAttribute()
方法添加到它的 attributes 中。然后就可以用 :session$keyName
直接访问了。
好吧, 谢谢
1 个赞