问题标签 [jpa-2.1]

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 投票
2 回答
7061 浏览

hibernate - 在 JPA 2.1 中使用标准 API 批量删除

给定以下批量删除行的代码。

JPA 2.1 标准 API 提供CriteriaDelete用于执行批量删除。因此,以下代码执行DELETE FROM city WHERE id IN(...)查询。

但这不应该等同于第一种情况。第一种情况的等价物是什么?它应该批量执行删除。

0 投票
1 回答
1948 浏览

jpa - JPA 存储库无法正常工作

我是 Open JPA 的新手,我正在将我的应用程序数据库服务从以 Hibernate 作为供应商提供者的 JPA 迁移到以 OpenJPA 作为供应商提供者的 JPA。一切都很好,但我无法迁移我的存储库。我收到以下错误:

这是我的实体:

和我的存储库:

你能帮我纠正这个错误吗?

0 投票
1 回答
641 浏览

java - JPQL:错误编译 - 状态字段“e.e2.e3”无法解析为有效类型

我有这个我无法解决的错误。

命名查询:

ERD:

在此处输入图像描述

实体:

加入实体:

用户组:

道:

0 投票
1 回答
202 浏览

jakarta-ee - JPA 2.1 中静态元模型类上的“需要编译”徽章

给定以下环境以在 Java EE 7 中运行企业应用程序。

  • GlassFish 服务器 4.0
  • NetBeans IDE 8.0
  • JDK 1.7
  • 具有 JPA 2.1 的 EclipseLink 2.5.1
  • EclipseLink 自身提供的 EclipseLink 元模型生成器 - 2.5.1.v20130918-f2b9fc5
  • 运行 PrimeFaces 5.0、PrimeFaces Extension 2.0、OmniFaces 1.7 的 JSF 2.2.6

在一些持久性实体类中,我根据需要手动提交了一些更改(过去已经完成了很多次,但没有造成任何问题)。之后,生成的元模型中的某些类上有一个扳手图标,上面写着“需要编译”,当鼠标按钮悬停在它们上方时,如下面的快照所示

在此处输入图像描述

我从服务器取消部署应用程序,停止然后启动服务器,进行清理和构建,最后从头开始部署,但一切都是徒劳的。

没有编译时错误。项目部署成功。运行时发生异常,当客户端尝试使用一个或多个此类类的页面时,指示“没有此类-java.lang.NoClassDefFoundError ”。

我还删除了整个元模型以及整个构建文件夹,并让 IDE 从头开始​​重新生成模型,但没有任何尝试成功。

除此之外,还删除了生成的文件夹并清理了 .osgi-cache 中的${GlassFishHome}/domains/domain1.

可能是什么原因?什么时候会发生?

0 投票
3 回答
19985 浏览

hibernate - JPA:在实体类中添加 toString 方法时出现 java.lang.StackOverflowError

一切正常,直到我添加toSting()到我的实体类中。

之后我开始在运行时收到以下错误:




编辑:添加了学生实体的代码

0 投票
2 回答
16997 浏览

java - @Converter 注释类没有被 jpa 自动检测到

@Converter(introduced since JPA2.1)似乎是将数据库值切换为我们希望在 java 代码中看到的值的一种非常方便的方法。但是,我无法让这个东西工作。JPA 似乎不知道我编写的转换器并试图自行将值转换为适当的类。

这是我写的代码:

模型中写的对应部分为:

运行查询时出现以下错误:

我找到了在persistence.xml. 但是,到目前为止,我没有使用 persistence.xml 并希望继续这种方式。我的带有注释的模型类@Entity会被自动检测到。这是我为此使用的代码:

@Entity在这个包(或任何子包)中的所有类都被检测到了。但是,不是由 DateConverter 注释的@Converter。我在这里想念什么。

我还尝试在属性中添加以下内容:

PS:请不要详细说明我为什么要将随机字符串转换为日期。这只是一个例子。

0 投票
1 回答
2128 浏览

hibernate - 如何在 JPA 2.1 中进行批量更新、删除、插入时调用 @PreUpdate、@PrePersist、@PreRemove 等回调方法?

如何在 JPA 2.1中调用由@PreUpdate(包括@PrePersist和其他)注释的方法?@PreRemove以以下CriteriaUpdate查询为例:

@PreUpdate给定关联实体中修饰的方法- Brand

仅在使用更新行时调用此方法

当相关操作涉及标准 API 时,如何调用由@PreUpdate(or @PrePersist, ) 修饰的方法?@PreRemoveCriteraUpdate

0 投票
1 回答
326 浏览

spring - HSQLDB + EclipseLink + 生成 DDL + DATE JODA TIME = 错误的 TIMESTAMP

我在用着:

我有这个实体:

当 HSQLDB/Eclipselink 生成 DDL 时,它生成 dabase 字段为:

当我访问(通过选择)这个实体时,我的转换器得到 ajava.sql.Timestamp而不是java.sql.Date并将值转换为 aLocalDateTime而不是LocalDate

如何强制将字段生成为:

0 投票
0 回答
722 浏览

hibernate - 使用 JPA 2.1 中的条件从多对多关系中删除

我正在使用具有 JPA 2.1 的 EclipseLink 2.5.1(和 Hibernate 4.3.5 final)。给定 MySQL 中的下表。

  • 产品
  • prod_colour(连接表)
  • 颜色

产品与其颜色之间存在多对多的关系。

一种产品可以有多种颜色,而一种颜色又可以与多种产品相关联。这种关系在数据库中由这些表表示。

prod_colour表有两个引用列prod_id,并分别colour_id来自其相关的父表productcolour

很明显,实体类Product有一个颜色列表——java.util.List<Colour>命名为colourList.

实体类Colour有一个产品列表 -java.util.List<Product>名为productList.


Colour实体中的关系:

Product实体中的关系:


连接表中的一行prod_colour可以按照以下方式删除:

我们可以有一个等效的CriteriaDelete查询来执行相同的操作吗?

如下查询

不能直观地编写,因为没有要在prod_colour其上执行此查询的连接表的实体类。

JPA 2.1 是否允许类似的东西来构造这种查询?

0 投票
1 回答
1129 浏览

spring - @Transactional 注解 - Spring 中的类级别和方法级别

请考虑 Spring 中的以下情况(我正在使用 Spring 4.0.0 GA 和 Hibernate 4.3.5 final)。

在这种情况下,我期望以下行

changePassword()方法之前,以便@Transactional可以覆盖类级别的注释。否则,类级别注释使用readOnly = true也适用于此方法。因此,更新操作不应该发生,因为事务是只读的。

那么在这种情况下 Spring 是如何进行更新操作的呢?