我使用Hibernate的主要原因之一是,它提供了切换到另一个数据库的灵活性,而无需重写任何代码.
但到目前为止,我还没有想出一种好方法来定义Hibernate实体与之匹配的表上的附加视图;为此,我仍然使用简单的SQL脚本.有没有更优雅的方式来定义由Hibernate管理的表上的视图?
理想情况下,我希望使用HQL或其他通用方法来完成这项工作,这样我就不必担心我的SQL脚本与其他类型的数据库不兼容.
如果有办法做到这一点,那么第二个问题就是从这些视图中获取"合成的"只读实例,这应该会使将聚合数据提供到UI中变得容易得多.
EDIT:
似乎我没有把问题说得足够清楚,所以我想要做的是:我想编写独立于使用的数据库的代码.因为我使用的是Hibernate,所以我只需更改方言配置文件,然后就可以使用另一个DBMS.
问:如何在我的Hibernate实体without上创建views,依赖于特定的SQL方言(以保持所有内容的可移植性),甚至是HQL?如果可能,我是否可以使用HQL查询这些视图,即创建只读聚合实体?有没有其他Hibernate插件可以帮我做到这一点?到目前为止还没有发现任何东西.:-/