问题标签 [jpa-2.0]

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 回答
4331 浏览

java - JPQL 检查多对多关系

只是一个简单的问题:

存在与同一实体的多对多关系连接的实体(例如用户)(例如,此关系描述“友谊”并且它是对称的)。

就执行时间而言,检查用户 A 是否是用户 B 的“朋友”的最快方法是什么?“愚蠢”的方式是获取整个列表,然后检查用户是否存在,但这显然是开销。

我正在使用 JPA 2

这是示例代码:

0 投票
2 回答
4832 浏览

java - JPA 实体监听器和@embeddable

我有一个 JPA 实体的类层次结构,它们都继承自 BaseEntity 类:

我希望所有实现给定接口的实体都能在持久化和/或更新时自动验证。这就是我所拥有的。

我的验证器监听器:

这是我检查的 Validateable 接口(外部接口只是一个标记,内部包含方法):

所有这些都有效,但是我想将此行为扩展到 Embeddable 类。我知道两种解决方案:

  1. 从实体验证方法手动调用可嵌入对象的验证方法:

    /li>
  2. 使用反射,检查所有属性以查看它们的类型是否属于它们的接口类型之一。这会起作用,但它并不漂亮。有没有更优雅的解决方案?

0 投票
3 回答
56602 浏览

hibernate - Hibernate 3.5 中的 @OrderColumn 注释

我正在尝试将@OrderColumn注释与 Hibernate 3.5一起使用

检索数据时,一切正常。但我不能让它重新排序列表中的元素并将新订单保存到数据库中。

0 投票
2 回答
1920 浏览

hibernate - JPA2 + 休眠 + 排序方式

是否可以(使用 Hibernate 和 JPA2 Criteria Builder)按方法结果而不是实体成员进行排序?

我想要实现的是按结果排序getEvaluatedValue()。那可能吗?

我没有使用@Formular,但是

我虽然它是普通的 JPA2,当然你是对的,没有机会通过动态数据订购。但是我可能被允许使用 if-else 或任何语句(使用我的 QueryBuilder 定义)指定一些 order-by 块,不是吗?

0 投票
2 回答
5675 浏览

java - 您是否应该默认使用应用程序服务器的 JPA 提供程序?

我有一个 100% 兼容 JPA2 的应用程序,它需要可移植到许多应用程序服务器。符合 JPA(理论上)意味着我们可以通过配置切换 JPA 提供程序(例如,无需更改源代码)——(对吗???)。

当在 servlet 容器(例如 Tomcat、Jetty)中运行时,应用程序被配置为使用 Hibernate 运行。我们选择 Hibernate 而不是 TopLink 和 Eclipselink 是因为它的成熟度和性能。到目前为止,这有效。

但是,当在 Java EE 应用程序服务器中运行时,我们应该默认使用其中的 JPA 提供程序,还是坚持使用 Hibernate?

我知道在 JBoss 中,提供者是 Hibernate,所以它可能无关紧要。但是,我认为WebLogic 中的提供者是 Eclipselink。我不知道提供者 WebSphere 或 Glassfish 使用什么,但我看到了有关如何在这些应用程序服务器中使用 Hibernate 作为提供者的详细说明。

我想问这个问题的另一种方式是在这些应用程序服务器中使用 Hibernate 会丢失什么?

0 投票
1 回答
362 浏览

java - Hibernate 3.5.1 出现 Tomcat 错误

我刚刚升级到休眠 3.5.1,现在我收到一个错误消息:

这只发生在 Tomcat 上,而不是 Jetty。

我查过了,没有任何冲突,这个方法肯定存在。我在类路径上有 hibernate-jpa-2.0-api-1.0.0.Final.jar,并且没有任何冲突的类。

有什么建议么?

0 投票
2 回答
4929 浏览

java - JPA 2 Criteria API:为什么 isNull 与 equal 结合使用时会被忽略?

我有以下实体类(继承自 PersistentObjectSupport 类的 ID):

如果我使用 Criteria API 执行以下查询:

我在日志中打印了以下 SQL:

但是,如果我将前面代码中的 where() 行更改为这一行:

我得到以下 SQL:

也就是说,完全忽略 isNull 标准。就好像它甚至不存在(如果我只提供与 where() 方法相同的标准,我会得到相同的 SQL 打印)。

这是为什么?这是一个错误还是我错过了什么?

0 投票
2 回答
8516 浏览

hibernate - JPA 2.0 实现比较:Hibernate 3.5 vs EclipseLink 2 vs OpenJPA 2

你的选择是什么?您有什么建议和经验吗?

我正在使用 Hibernate 3.5 和 Spring 3.0 开发应用程序

优点:

  • 良好的文档
  • 易于配置和有用的日志
  • 人气 - 广泛的社区
  • JPA 的一些扩展
  • 一些额外的工具 - Eclipse 的 JBoss 工具、hbm2ddl、生成静态元模型等......

缺点:

  • 虫子!(序列,集合等......)
  • “纯”Hibernate 使许多功能加倍。遗留的 Hibernate 和 JPA 注释很混乱。

我正在考虑切换到 EclipseLink。你怎么看 ?

编辑:

我已经尝试过 EclipseLink 并且有非常糟糕的体验。EclipseLink 似乎需要 LoadTimeWeaver 并且喜欢在 OSGi 平台上运行,而不是简单的 Jetty 或 Tomcat 环境。我只是没有时间处理所有这些配置内容。

0 投票
5 回答
1746 浏览

java - 有没有办法减少与 CriteriaQuery 相关的样板代码量(在 JPA 2.0 中)?

我喜欢 JPA 2.0 带来的类型安全CriteriaQuery,但它也带来了一些样板代码。例如,假设我有一个名为 NamedEntity 的实体,它只有一个 id 和一个名为“name”的字符串字段(假设它的唯一约束设置为 true)。NamedEntityManager 可能如下所示:

有没有办法压缩代码以避免将相同的代码行复制/粘贴到每个查询方法中?也许以某种方式重用 CriteriaQuery 对象?

0 投票
2 回答
2900 浏览

java - 为什么 Eclipse 不编译 APT 生成的类?

在我的 Eclipse 项目中,我正在使用第三方注释处理器,确切地说是Hibernate Metamodel Generator 。注释处理器按预期工作并生成规范指定的 .java 文件。这些文件生成到 Eclipse 项目的目录中的“gen”文件夹下。在项目属性中,这是正确的,因为存在两个源文件夹 - “src”和“gen”。但是,由于某种原因构建项目时,“gen”下的所有 [生成] 源都没有被编译(检查“bin”目录,我只看到“src”目录中的 .class 文件)。有谁知道为什么会这样?