问题标签 [jpa-annotations]

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 投票
5 回答
142712 浏览

java - Java - JPA - @Version 注释

@Version注释在 JPA 中是如何工作的?

我找到了各种答案,其摘录如下:

JPA 使用实体中的版本字段来检测对同一数据存储记录的并发修改。当 JPA 运行时检测到同时修改同一记录的尝试时,它会向最后尝试提交的事务抛出异常。

但我仍然不确定它是如何工作的。


同样来自以下几行:

您应该考虑版本字段不可变。更改字段值会产生未定义的结果。

这是否意味着我们应该将我们的版本字段声明为final

0 投票
2 回答
107 浏览

java - 无法使用 CascadeTypes

我有两个域类。下面是课程的粗略草图。

公司.java

部门.java

JPA @ManyToOne with CascadeType.ALL说 CascadeType.ALL 的含义是持久性将传播(级联)所有 EntityManager 操作(PERSIST, REMOVE, REFRESH, MERGE, DETACH)到相关实体。

Test.java的main方法

它给了我的例外

但是当我CascadeType.ALL在 @ManyToOne 注释上使用时,它可以正常工作,但不能使用CascadeType.PERSIST 所以我应该使用什么来使这个示例工作而不使用CascadeType.ALLas ALL uses (PERSIST, REMOVE, REFRESH, MERGE, DETACH)。那么我应该使用以下哪一项来完成我的工作而不是 ALL 以及它们是如何工作的?

0 投票
1 回答
2297 浏览

oracle - 休眠序列生成器不一致

我有一张带有促销 id 注释的表格

但是即使将 allocationSize 指定为 1,hibernate 也会不一致地增加数字。以下是数据库中promotionid 的最新降序值

我在某处读到 Hibernate 可能会使用 hilo seq_hilo 算法和org.hibernate.id.SequenceHiLoGenerator生成器,即使@SequenceGenerator已定义。另请阅读以下链接,我们可以使用它@GenericGenerator来解决链接中的此问题

有人可以在这种情况下提供详细信息吗?@GenericGenerator语法看起来并不简单。应@SequenceGenerator否使用。有时@SequenceGenerator可以完美运行并生成正确的主键。

PS。我正在使用 Hibernate 3.5 和 Oracle 11g DB

编辑

序列码 -

编辑 2

更多分析表明,“总是”插入至少一个可被 20 整除的值。由于 Oracle 的序列默认缓存为 20,因此在正常的 hibernate 增量和缓存值之间看起来有些冲突。还观察到,当插入之间有时间间隔时,它会转到下一个可被 20 整除的值,否则会适当地增加到 1

0 投票
1 回答
6297 浏览

jpa - EclipseLink - 非实体作为关系属性中的目标实体

我正在使用 Netbeans IDE 8.0.2 和 eclipselink 2.5.2。打开连接时出现以下异常,问题是并非每次都发生这种情况。异常“Departmento”中描述的实体完全遵循其他类的模式,即我们的系统已经包含大约 500 个实体类,并且仅在新类中发生此异常。该实体是由 Netbeans 的“数据库中的实体类”选项生成的,并添加到持久化 XML ...

引起:javax.persistence.PersistenceException:异常 [EclipseLink-28018] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd):org.eclipse.persistence.exceptions.EntityManagerSetupException 异常描述:PersistenceUnit [totemPU] 的预部署失败。内部异常:异常 [EclipseLink-7250] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd):org.eclipse.persistence.exceptions.ValidationException 异常描述:[class entidade.Item] 使用非实体 [class entidade. Departamento] 作为关系属性 [field departamento] 中的目标实体。

实体部门

实体项目

持久性.xml

在同一个 persistence.xml 中还有更多的三个持久性单元。

0 投票
1 回答
334 浏览

jpa - 生成带注释的(@NamedPLSQLStoredFunctionQuery / @NamedPLSQLStoredProcedureQuery)查询

环境 - JavaSE 6、Oracle 11、WebSphere 7、eclipseLink 2.5.2 / 2.6.0

用例

在我们的项目中,我们使用(从 Java 调用)许多 PL/SQL 过程和函数。我们想生成带注释的查询,例如

来自数据库元数据,即过程/功能规范。

问题

eclipseLink 或任何 3rd 方库是否提供支持?

问候简

0 投票
0 回答
430 浏览

oracle - 使用带有布尔 IN 参数的 @NamedPLSQLStoredFunctionQuery,未安装“SYS.SQLJUTL”

环境 - JavaSE 6、Oracle 11、WebSphere 7、eclipseLink 2.5.2

用例 我们想使用

像这样:

然后我们执行如下函数:

和/或

我们的Oracle函数实现如下:

它真的不起作用。

问题

  • 问题是什么?
  • 如果不允许我们在数据库上安装“SYS.SQLJUTL”但 eclipseLink 似乎使用它进行转换,我们该怎么办?

问候简

0 投票
1 回答
161 浏览

java - 是否可以覆盖子类中字段的字段约束

我有一个父类让我们称它为 Parent

然后有大约 10 个子类,这里是其中之一

我知道我不能覆盖实例变量,但是否可以删除对子类的约束。例如,如果我愿意,我希望 childOne 类对象具有 null stringOne 或 null stringTwo。但是其他 9 个子对象可以有来自父类的约束。

最重要的部分是我不能将父级作为摘要。对于这个迟到的编辑,我真的很抱歉。

0 投票
1 回答
511 浏览

java - QueryDSL JPAAnnotation Processor 为单个类生成 QModel

我有一个位于包中的类。在那个包中,我有几个 JPAEntities。然而,我想要 JPAAnnotationProcessor 做的就是为单个类生成 QModel。不适用于该包内的所有类。如果不将类移动到另一个包,这可能吗?

0 投票
1 回答
310 浏览

hibernate - 无法从 JPA 注释类生成 DDL

我有一个示例 java 项目,处于原型阶段,我需要从 JPA 注释类创建 DDL。需要使用hibernate、Mysql。由于某些公司原因,我的项目不是 Maven 项目。但是我在系统上安装了 Maven。所以我根据这里提供的许多解决方案创建了一个 pom.xml 并将其放在我的项目文件夹中。我尝试运行mvn hibernate3:hbm2ddl 但出现以下错误。

我的 pom 看起来像下面

我在 webcontent/META-INF 文件夹中有 persistence.xml,如下所示。

0 投票
0 回答
732 浏览

spring - 将 Hibernate 转换为 Spring Data JPA

我们有一个现有的带有 Spring 的 Hibernate 应用程序,我们有 hbm.xml 文件,但现在我们想创建一个 xml 和注释的混合应用程序,以便将来我们可以移动到 spring Data jpa 这是我的配置文件

我已经包含了 spring orm、spring core、spring mvc、hibernate jpa 和 hibernate core 文件,但我在服务器 strt up 上仍然低于错误