是否可以使用Hiberanate映射数据库列,因此我可以在HQL查询中使用它,但不能将其映射到映射类中的实际属性?
我不需要在我的班级中使用这个属性,并且希望避免使用getter和setter的混乱,这种东西永远不会被使用。
我使用的用例是在某些行上设置一个标志,因此不同的进程将获取该行并对其进行处理。我们只需对此字段进行更新,如下所示:
update FJ345KJ set wrkxGrumble=1
where wrkxGrumble = 0
and -- more constraints comming here
由于数据库强制使用的表名和列名类似于哈希码,我们希望使用HQL进行更新,这可以使用漂亮的映射名称。因此我们需要在Hibernate中映射的列。
答案 0 :(得分:2)
据我所知,这是不可能的。任何映射列都需要类中的变量。
您可以做的是:您使用属性access = "field"
映射列,并在类中将变量声明为private
。然后仍然声明了一个无用的变量(这不是性能问题,因为数据库无论如何都必须加载行),但是不需要getter和setter,并且因为变量被声明为private,所以它不会影响你的接口。 java类,我即它对其他课程不可见。