问题标签 [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 投票
1 回答
4505 浏览

java - Spring:根据MessageSource获取ResourceBundle

我正在使用带有 Spring 的休眠验证器框架。实现 Spring Validator 的类使用 Hibernate 的 ClassValidator 验证对象。要本地化 ClassValidator 的错误消息,我需要将 ResourceBundle 传递给类的构造函数。我的 ApplicationCountext 有一个 MessageSource bean (ReloadableResourceBundleMessageSource),它通过应用程序使用。对 ClassValidator 使用相同的 MessafeSource 是有意义的。但是如何将 MessageSource 转换为 ResourceBundle?有没有适配器类?

0 投票
11 回答
33274 浏览

java - 在 Hibernate 中进行分页是否有比执行选择和计数查询更有效的方法?

通常分页查询看起来像这样。有没有更好的方法,而不是制作两个几乎相等的方法,一个执行“select *...”,另一个执行“count *...”?

0 投票
1 回答
1363 浏览

hibernate - 向现有的 Hibernate 实体添加(外部)关系(标记)

我需要向现有的 Hibernate 实体添加新的多对多关系。我不想触及原始的 Hibernate 实体 bean 或其配置。我要添加的是“标记”功能,可以将其视为外部贡献,而不是实体数据本身的一部分。

我想要一个只有两列的简单连接表,即实体主键和标签 ID。

我可以在不引入包含单个标记映射的新(人工)实体类型的情况下使用 Hibernate 来管理此表吗?

还是我被误导了,实际上应该想要拥有这个“关系实体”,以便以后可以添加属性(例如时间戳)?

0 投票
4 回答
40399 浏览

hibernate - 带有鉴别器的休眠映射

我有一个表,其中一个字段可以根据描述符值(Project、TimeKeep 或 CostCenter)指向其他 3 个表之一中的外键。通常这是用子类实现的,我想知道我有什么下面将起作用。 注意子类名称与父类相同,并且 noteObject 属性映射到 java.lang.Object 类型的实例变量,因此只要我们转换为,它应该接受 Project、TimeKeep 或 CostCenter 对象正确的类型。hibernate 会允许这样做吗?谢谢。

0 投票
7 回答
14474 浏览

hibernate - 修复 Hibernate 错误“两次使用相同的实体名称”

如何修复以下 Hibernate 错误:

“两次使用相同的实体名称”是什么意思。

0 投票
8 回答
12613 浏览

java - 非托管线程 Spring Quartz Websphere Hibernate

看来我们使用 Quartz - JDBCJobStore 以及 Spring、Hibernate 和 Websphere 的实现正在抛出非托管线程。

我做了一些阅读,发现 IBM 的一篇技术文章指出使用 Quartz 和 Spring 会导致这种情况。他们建议使用 CommnonJ 来解决这个问题。

我做了一些进一步的研究,到目前为止我看到的唯一例子都是处理不在数据库中的旧 JobStore 计划。

所以,我想知道是否有人有这个问题的解决方案的例子。

谢谢

0 投票
6 回答
1539 浏览

java - 什么是 Java JPA 查询“层”的好设计

在 JPA 中,实体是带有很好注释的普通 Java 对象。但是我还没有找到与它们和数据库交互的好方法。

在我当前的应用程序中,我的基本设计始终是将基于序列的 id 作为主键,因此我通常必须通过 PK 以外的其他属性查找实体。

对于每个实体,我都有一个无状态的 EJB

查询方法都是一些变化

所以:

  1. 我真的很讨厌在 EJB 中使用这些方法,因为它们似乎属于实体本身,而 EJB 本地接口让我很恼火。

  2. 我讨厌我在每个方法中都有“try、createQuery、getResultList、catch、log、return”的重复(主要是Java中没有闭包或“with语句”或类似的结果)。

是否有人建议以更好的方式与解决我的一个或两个问题的实体和数据库进行交互?

我目前正在考虑使用泛型和反射做一些基本方法,以获得一些通用查询方法来减少重复(问题 2)(我稍后会提出一个原型供审查)。

谢谢,安德斯

0 投票
4 回答
22300 浏览

hibernate - 为什么当我尝试更新/插入时,Hibernate 会尝试删除?

在我的应用程序中,我有这些 Hibernate 映射类型(一般情况):

所有类都有equals() & hashCode()覆盖。

我的应用程序允许调整角色(仅限系统管理员,不用担心),在其他领域中,允许创建新的角色规则。创建新规则时,我尝试创建一个新RoleRule对象并将其插入角色的字段中rules。我调用session.update(role)将更改应用到数据库。

现在是丑陋的部分...... Hibernate 决定在关闭事务和刷新时执行以下操作:

  1. 将新规则插入数据库。出色的。
  2. 更新其他角色字段(不是集合)。到目前为止,一切都很好。
  3. 更新现有规则,即使它们没有任何变化。我可以忍受这个。
  4. 再次更新现有规则。这是日志中的粘贴,包括自动评论:

当然,所有字段都不是空的,这个操作非常失败。

任何人都可以尝试解释为什么 Hibernate 会这样做???更重要的是,我该如何解决这个问题???

编辑:我非常确定这与映射有关,然后我的老板一时兴起,删除了两个类中的equals()and hashCode(),使用 Eclipse 重新创建它们,神秘地解决了这个问题。

不过,我仍然对我的问题很好奇。谁能建议为什么 Hibernate 会这样做?

0 投票
4 回答
4375 浏览

java - 奇怪的休眠缓存问题

我们将 Hibernate 3.1 与 Spring MVC 2.0 一起使用。当直接在数据库上更新数据(而不是在应用程序中)时,就会出现我们的问题。我们使用过滤器根据订单是否打开或关闭来过滤结果集合。如果我们将 DB 上的订单更改为关闭,过滤器会返回正确的列表,但是,对象的状态不会改变。

  • 我们没有启用二级缓存或查询缓存。
  • 从数据库中检索集合是通过 Hibernate 的 Session.createQuery。
  • 此外,我们连接了一个 SessionFactory,并在整个应用程序中使用一个 Session。

对象显示正确状态结果的唯一时间是服务器重新启动时——我们不希望定期这样做。

0 投票
3 回答
8581 浏览

java - 如何正确序列化 Hibernate 集合?

我正在尝试从使用 Hibernate 检索到的数据库中序列化对象,并且我只对对象的完整实际数据感兴趣(包括周期)。

现在我一直在使用XStream,这似乎很强大。XStream 的问题在于它在信息上看起来过于盲目。它可以识别 Hibernate 的 PersistentCollections,包括所有的 Hibernate 元数据。我不想序列化那些。

那么,是否有一种合理的方法可以从 PersistentCollection 中提取原始集合,并初始化对象可能指向的所有引用数据。或者你能推荐我一个更好的方法吗?

Simple的结果看起来很完美,但它无法处理像 Calendar 这样的基本 util 类。它一次也只接受一个带注释的对象)