这个问题的背景如下:
但是,我应该提一下为什么我想知道这一点。
我有一个具有许多角色(布尔字段)的类。我不想进行命名查询(JPA)之类的
@NamedQuery(name= "searchUserWithRoles", query="SELECT u FROM User u WHERE u.role.admin = :admin AND u.role.printer = :printer AND ... .. . .+ 20 more booleans...)
我的想法是为 Role 类中的所有字段创建一个哈希码(或类似的),从而将命名查询减少为:
@NamedQuery(name= "searchUserWithRoles", query="SELECT u FROM User u WHERE u.role.hashcode = :hashcode)
我认为(但我不确定)这会提高性能,但也会使我的查询非常短(我的用户类中有一个更像“角色”的字段)。
此外,当我使用更多角色字段更新 Role 类时,我不需要更新命名查询。
这就是第一个问题的背景。
新问题是:是否有某种方法可以在 Role 类中生成一个“hashcode like”字段,该字段是对所有真实字段的描述(即使 Role 类更新了更多字段)?
提前致谢