相关疑难解决方法(0)

在hibernate实体上处理数据库视图的优雅方法?

我使用Hibernate的一个主要原因是它提供了切换到另一个数据库的灵活性,而无需重写任何代码.

但到目前为止,我还没有想出一个很好的方法来定义与我的hibernate实体匹配的表的其他视图; 我仍在使用简单的SQL脚本.有没有更优雅的方法来定义由hibernate管理的表的视图?

理想情况下,我想使用HQL或其他通用方法来完成这项工作,这样我就不必担心我的SQL脚本与其他类型的数据库不兼容.

如果有办法做到这一点,那么第二个问题就是从这些视图中获取"合成"只读实例,这样可以更容易地将聚合数据提供给UI.

编辑:

好像我没有把问题弄清楚,所以这就是我想要做的:我想编写独立于使用过的数据库的代码.由于我使用hibernate,我只需要更改方言配置文件,然后可以使用另一个DBMS.

问题:如何在依赖特定SQL方言(保持一切可移植性)甚至是HQL的情况下在我的hibernate实体上创建视图?如果可能的话,我可以使用HQL查询这些视图,即创建只读聚合实体吗?是否有任何额外的hibernate插件来帮助我?到目前为止还没找到任何东西...: - /

java database hibernate

26
推荐指数
2
解决办法
4万
查看次数

无法通过使用hibernate的存储过程获取多个Table实体

这是我的存储过程

Create PROCEDURE  [dbo].getUserAndEnum

AS

BEGIN

select * from user_master where id =1

select * from enum_master where id = 1

End
Run Code Online (Sandbox Code Playgroud)

用hibernate写的

Session session = HibernateFactory.getSessionFactory().openSession();

Transaction tr = session.beginTransaction();

SQLQuery qr=session.createSQLQuery("getUserAndEnum");

List list = qr.list();
Run Code Online (Sandbox Code Playgroud)

在列表中我只获取用户对象..我的enum_master行的ID为1

数据库中存在ID为1的PS enum_master行

谢谢.

java mysql stored-procedures hibernate

10
推荐指数
1
解决办法
2895
查看次数

标签 统计

hibernate ×2

java ×2

database ×1

mysql ×1

stored-procedures ×1