【发布时间】: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