0

是否可以使用 Hibernate 映射数据库列,以便我可以在 HQL 查询中使用它,但不能将其映射到映射类中的实际属性?

我在课堂上不需要这个属性,并且希望避免 getter 和 setter 的混乱,无论如何都不应该使用它们。

我的用例是在某些行上设置一个标志,因此不同的进程将拾取该行并对其进行处理。我们只需要像这样对字段进行更新:

 update FJ345KJ set wrkxGrumble=1 
 where wrkxGrumble = 0
 and -- more constraints comming here

由于数据库强加给我们的表名和列名类似于哈希码,我们希望使用 HQL 进行更新,它可以使用漂亮的映射名称。因此我们需要在 Hibernate 中映射的列。

4

1 回答 1

2

据我所知,这是不可能的。任何映射列都需要类中的变量。

您可以做的是:您使用属性映射列,access = "field"并在类中将变量声明为private. 然后仍然声明了一个无用的变量(这不是性能问题,因为数据库无论如何都必须加载行),但是不需要 getter 和 setter,并且由于变量被声明为私有它不会影响您的接口java 类,即对其他类不可见。

于 2013-03-18T16:29:22.260 回答