当前位置: 首页 > 知识库问答 >
问题:

在Hibernate中映射没有Java类中属性的列

公孙志尚
2023-03-14

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

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

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

共有1个答案

洪和风
2023-03-14

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

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

 类似资料:
  • 这是我的employee.hbm.xml: 所以,您可以注意到,在我的类中,它没有“id”属性。但是,我在数据库中创建id列,让它成为自动生成的主键。在这种情况下,我不知道应该在将我的类映射到我的数据库。如果我忽略了它,会不会是后来的一些问题呢?

  • 问题内容: 在我的applicationContext.xml中,这就是将xml映射到POJO的方式。如何将目录映射到类文件而无需创建xml? 问题答案: 您可以通过转换进一步简化操作 至 现在您的包中所有带有注释的类都将自动被拾取。

  • 问题内容: 我有一个带有集合的类,它们是Hibernate管理的POJO。我也在使用 hbm.xml 文件映射我的实体。当用户转到管理屏幕时,我希望他将数据查看到表中,该表还将包含最近完成的工作。但是,只有访问可检测内容的详细信息页面,才能使用完整的修订集。 我的机会是显示最后的修订日期,该日期将作为每个实例的属性单独加载。所以我有这样的事情: detectable.hbm.xml 这是行不通的,

  • 问题内容: 我有一个带有集合的类,它们是Hibernate管理的POJO。我还使用 hbm.xml 文件映射了我的实体。当用户转到管理屏幕时,我希望他将数据查看到表中,该表还将包含最近完成的工作。但是,只有访问可检测内容的详细信息页面,才能使用完整的修订集。 我的机会是显示最后的修订日期,该日期将作为每个实例的属性单独加载。所以我有这样的事情: detectable.hbm.xml 这是行不通的,

  • 问题内容: 如何在Hibernate XML映射中使用序列? 文档中提到了元素。但是,我希望序列是列而不是ID。 问题答案: 我知道将Hibernate与Oracle一起使用时,映射文件中的ID定义为: 您还可以将生成器类指定为“本机”,如果您随后切换到自动递增的RDMS(例如MySQL),则将非常方便。然后在MySQL中忽略序列位。 编辑: 重新阅读您的问题。我不认为hibernate处理非id

  • 你好,我的问题与Java8非常相似:流映射同一个流中的两个属性,但由于某些原因,我无法让代码正常工作。 所以就像这个问题一样,假设我有一个班级 所以我想从列表中组合这些