【问题标题】:Call Database views using Hibernate使用 Hibernate 调用数据库视图
【发布时间】:2013-04-16 11:22:53
【问题描述】:

我正在使用 Hibernate 在 Spring MVC 中做项目,我正在使用 MySQL DB。在我的数据库中,我已经创建了一个视图,我想使用休眠调用该视图。

所以我在回答中提到了this post,你会看到"<class name="SomeThing" table="some_thing"/>" 所以,

类名Something 是一个java 类,它的属性是数据库视图中的列,对吧?

那么映射的其他部分我需要在映射中添加<property>吗?

【问题讨论】:

  • 是的。您应该有 标记来将视图的列映射到您的 bean。但是请注意,将 java bean 映射到视图(就像对表进行映射)对于读取操作来说可以正常工作。但是,尝试删除/更新时会出现复杂情况,或者在大多数情况下很可能是不可能的。
  • 如果您从 Hibernate 开始,那么请忘记基于 XML 的映射。改用注释:更标准、更清晰、更容易。
  • @DevBlanked 谢谢您的回复 :)。我的大部分观点都是针对读取操作的,所以不用担心。如果我为此进行映射,所以我在 hibernate.cfg.xml 中添加了 <mapping resource> 对吗?如果我在hibernate.cfg.xml 中添加映射文件的条目,那么它会生成表格,不是吗?或者不需要在休眠文件中添加条目,只需使用标准 API,HQL 从数据库视图中获取数据。
  • @Amogh 您很可能需要手动创建视图。我怀疑hibernate是否可以知道它被映射到一个视图,因为映射没有说这样的东西

标签: hibernate


【解决方案1】:

您必须使用与其他实体类相同的 View 类。您也可以使用注释、属性、映射和其他关系。在我的项目中,我们使用了相同的但 db 是 PostgreSQL。没关系。

【讨论】:

  • 嘿,Amough,当您接受任何答案时,您应该对该答案投赞成票以表示赞赏。
猜你喜欢
  • 2012-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-12
  • 1970-01-01
  • 2010-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多