问题标签 [hibernate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1833 浏览

java - 从非常大的结果集中呈现数据的最佳方式是什么?

我正在编写审计跟踪的报告视图,我需要在 .jsp 中显示它。将数据从数据库获取到屏幕的“最佳”方式是什么?

我们使用 Spring 进行依赖注入、数据访问对象和 Hibernate。我可以为此报告使用休眠或直接 jdbc。

如果我将所有记录加载到内存中,我的内存就会用完。

任何不涉及在 jsp 中运行查询的想法?

0 投票
18 回答
6914 浏览

java - Java 框架之战:Spring 和 Hibernate

我的开发人员正在发动一场内战。在一个阵营中,他们接受了 Hibernate 和 Spring。在另一个阵营,他们谴责框架——不过他们正在考虑使用 Hibernate。

问题是:新手 Hibernate-Spring 转换者可能会遇到任何令人讨厌的意外、弱点或陷阱吗?


PS:我们有一个不太复杂的 DAO 库。我怀疑它是否具有 Hibernate 的丰富性,但它正在达到某种成熟度(即它在它所包含的最后几个项目中没有改变)。

0 投票
2 回答
5574 浏览

java - 比较 Hibernate 中日期时间字段的时间部分

我有一个为 ORM 使用休眠(注释)/mysql 组合的应用程序。在那个应用程序中,我得到了一个带有日期字段的实体。我正在寻找一种在时间范围内选择该日期的方法(因此hh:mm:ss没有日期部分)。

在 MySQL 中有一个函数TIME(expression)可以提取时间部分并在 where 子句中使用它,但是如果不切换到本机查询,在 Hibernate 中似乎不可用。hibernate 中是否有一个选项可以执行此操作,或者我应该遍历 java 中的结果并在那里进行比较?这会比 MySQL 解决方案慢得多,因为它不会使用索引吗?

0 投票
7 回答
2429 浏览

java - JPA 1 不够好

过去 4 个月在一个中等规模的项目中工作——我们正在使用 JPA 和 Spring——我很确定 JPA 对于需要超过 CRUD 屏幕的项目来说并不强大......查询界面很差,Hibernate 不尊重 JPA规范一直很多时候我需要使用休眠类、注释和配置。大家觉得JPA怎么样?还不够好吗?

0 投票
2 回答
3973 浏览

java - 如何在运行时为使用 Spring MVC 和 Hibernate 的 Web 应用程序获取 jdbc.batch_size 属性的值?

根据我目前所发现的,我可以使用以下代码:

但后来我得到一个休眠异常:

org.hibernate.HibernateException:找不到用于配置的本地数据源 - 必须在 LocalSessionFactoryBean 上设置数据源属性

有人可以解释一下吗?

0 投票
1 回答
13748 浏览

java - Hibernate 3:无法查询 PostgreSQL 数据库

我正在使用Hibernate 3.3.1 GAand设置一个项目PostgreSQL 8.3。我刚刚创建了一个数据库,第一个表,在那里添加了一行,现在正在配置 Hibernate。

但是,即使是最简单的查询:

无法执行(尽管数据库中有一条记录,但返回空列表)。我查看了 PostgreSQL 日志以查看:

我使用纯 JDBC 编写了一个简单的程序来获取相同的数据,并且它工作正常。这种情况下的 PostgreSQL 日志如下所示(用于比较):

Hibernate 调试日志不指示任何错误。如果我采用日志中列出的查询:

并在 psql 中再次执行数据库,它可以工作(这意味着 Hibernate 已经生成了正确的 SQL)。

下面是休眠配置:

...和映射文件:

谷歌搜索unexpected EOF日志条目并不有趣。任何想法,社区?

0 投票
5 回答
2623 浏览

java - 如何初始化通过远程方法调用获取的 Hibernate 实体?

当调用远程服务(例如通过 RMI)从使用 Hibernate 的数据库中加载实体列表时,您如何管理它以初始化客户端需要的所有字段和引用?

示例:客户端调用远程方法来加载所有客户。对于每个客户,客户希望初始化对客户购买物品列表的引用。

我可以想象以下解决方案:

  1. 为每个特殊查询编写一个远程方法,初始化所需的字段(例如 Hibernate.initialize())并将域对象返回给客户端。

  2. 像 1. 但创建 DTO

  3. 将查询拆分为多个查询,例如一个用于客户,另一个用于客户的文章,并让客户管理结果

  4. remote 方法采用 DetachedCriteria,由客户端创建并由服务器执行

  5. 开发自定义“预加载模式”,即客户端明确指定要预加载哪些属性的方法。

0 投票
1 回答
455 浏览

java - 将 .HBM 模型转换为带注释的 pojos

我们在生锈的旧 hbm 文件中声明了我们的域模型,我们希望移动到使用 javax.persistence.* 注释注释的 POJO。

有没有人有这样做的经验?

有没有我们可以使用的工具?

0 投票
5 回答
13160 浏览

hibernate - Spring/Hibernate下的多个会话工厂

我被要求在同一个实例中支持多个数据库,以支持多租户。每个数据库都有一个相同的模式。用户通过从列表中选择登录到特定数据库,所有后续调用都将转到该数据库,直到他们注销。

我想根据客户端提供的参数在单个 HibernateDaoTemplate 内热交换会话工厂。

我可以在热交换数据源(以及与之相关的所有事务问题)上找到很多东西,但我想热交换会话工厂——为每个工厂保留所有缓存。

最简单的方法是什么?为 DaoTemplate 配置 HotSwappableTarget?谁能指出我如何做到这一点的样本?

0 投票
9 回答
84788 浏览

sql - 使用 Hibernate 进行不区分大小写的搜索

我正在使用 Hibernate 将我的 Java 应用程序的 ORM 用于 Oracle 数据库(不是数据库供应商很重要,我们可能有一天会切换到另一个数据库),我想根据用户提供的字符串从数据库中检索对象。例如,在搜索人时,如果用户正在寻找住在“弗兰”的人,我希望能够给她在旧金山的人。

SQL 不是我的强项,我更喜欢 Hibernate 的Criteria构建代码而不是硬编码字符串。谁能指出我如何在代码中做到这一点的正确方向,如果不可能,硬编码的 SQL 应该是什么样子?

谢谢,

尤瓦尔=8-)