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

java - Hibernate Envers 因 @Converter 和 AttributeConverter (JPA 2.1) 而失败

我正在使用带有 Envers 的 Hibernate 4.3.4 和 MySql 5.6。

如果没有 JPA 2.1 转换器,Party下面的实体会失败Configuration.buildSessionFactory(),因为 Hibernate 不知道如何处理 Name 类:

例外是:

为了解决这个问题,我添加了这个转换器:

异常现在变为:

这现在在Party实体的 Envers 审计表中失败了。请注意,这History_Party是审计表的名称,由 选择config.setProperty("org.hibernate.envers.audit_table_prefix", "History_")

完整的堆栈跟踪是:

我该如何解决这个问题?Envers 甚至与 AttributeConverters 兼容吗?

0 投票
3 回答
5321 浏览

java - 如何在 Hibernate JPA @NamedEntityGraph 中引用继承的属性?

我的项目中有以下映射:

默认情况下,所有集合关联都是惰性的。我的目标是创建一个可用于急切加载PurchaseInvoice.lineItemsPurchaseInvoice.payment.paymentTerms.

如果我定义以下实体图:

我收到以下无法构建实体管理器工厂错误:

在 JPA 2.1 实体图中引用超类(或子类)中的属性的正确方法是什么?

0 投票
0 回答
105 浏览

java - Criteria API 中等效的 JPQL 成员条件?

我在 JPQL 中有一个非常有用的查询:

或再次

它快速,易于理解并且完美无缺。当关系不是@*ToMany 而是@ElementCollection 时,它甚至可以很好地工作。

现在我需要将 转换in (p.members) s where s.members.email = :email为 Criteria API,以便我可以在许多类似实体中复制这种查询模式,或者以编程方式添加“orderBy”和其他条件,我宁愿不通过String操作来完成,我熟悉基本的Criteria API 的使用,但我绝不是专家。

我试过了,CriteriaBuilder.in(~)但它似乎是一个完全不同的意思......或者我用错了。

有人可以帮忙吗?

我在 JPA 2.1 后面使用 Hibernate 4.3.0(在 Play!Framework 中)。

0 投票
1 回答
198 浏览

hibernate - 使用延迟加载(字节码检测)一对一关系序列化 bean 时出现 PropertyAccessException

我使用 JPA/Hibernate 处理 WildFly Web 项目。在我开发这个软件的过程中,我对 Hibernate 怀有强烈的热情,就像其他许多人一样。我希望我一开始就没有使用它,但是该项目现在太远了,无法改变方法。我解决了许多愚蠢的怪癖和“功能不是错误”,但现在我只剩下一个了,这让我发疯了。

我有一个名为 GenericPerson 的 bean,它可以有许多“角色”(如客户、用户等)。每个角色都在自己的数据库表中,并通过主键 (id) 与父人员相关联。当然,除非我真的需要角色,否则我不想加载角色,所以我继续使用 Hibernate 的延迟加载功能。对于@OnoToOne 关系,似乎必须使用字节码检测。所以我通过 Maven 实现了它,它可以工作。这是代码示例。

现在,如果我不需要有关用户的信息(因此永远不要延迟初始化“用户”字段),一切都很好。如果我想使用急切加载并且此 GenericPerson 的用户存在,也可以。但是,如果关联的用户不存在,当 RestEasy 通过 Jackson 序列化 bean 时,我得到异常:

好吧,当然不能,亲爱的 Hibernate,用户不存在!当类没有被增强(所以没有延迟加载)时,这不会发生。我尝试将 mappedBy 属性和 @PrimaryKeyJoinColumn 注释从一侧切换到另一侧,但没有帮助。有谁知道如何解决这个问题?也欢迎替代设计理念(使用@OneToOne)。

0 投票
0 回答
535 浏览

java - JPA 2.1 StoredProcedureCall 对我来说似乎有问题

意外工作与否,即使错误是其他问题,也总是不停地说:

即使存储过程不存在,例如:

Java调用:

例外:

MySql 代码:

Java 代码:

有没有人有同样的经历?还是我错过了什么?!

0 投票
1 回答
1095 浏览

persistence - JPA 2.1 在 Eclipse 开普勒中不起作用

这个标签在 eclipse kepler 和 wildfly 8.0 中不起作用,想要与 jpa 2.1 一起工作,这个标签是由 eclipse 自动生成的。

如果我尝试使用这个标签

一切正常。

请帮我解决这个问题。

这是错误

0 投票
1 回答
1057 浏览

java - Java,休眠瞬态字段

我有域对象项,其中包含字段 id、名称、父项和类别(布尔值)。所以我在数据库中插入值,如:

id 名称 parentItem 类别
1 工具 NULL 1
2 电动工具 1 1
3 小工具 2 1
4 实际工具结束子项 3 0

所以实际项目在类别/路径“工具/电动工具/小工具”中

所以我需要通过 categoryName/categoryPath 实现惰性过滤器搜索。例如:如果用户在 dataTable 过滤器“Electric”中输入,我需要返回“Electric tools”类别中的所有项目以及子类别中的所有项目(在本例中为 Small tools 和所有其他如果存在)。

所以目前我在 java 域对象 @Transient 字段中使用递归来获取项目路径。但我不能按瞬态字段搜索。我的意思是我不能在数据库中实现搜索,因为这个字段是:
1.瞬态
2.使用递归,如果我需要在其他 db 版本上部署应用程序,我将不得不在 db 上重写递归 sql 或其他东西。我不喜欢这个

谁能指出我一些聪明、独特的解决方案?任何想法,建议表示赞赏。谢谢!

0 投票
1 回答
152 浏览

java - 您将如何使 JPA 2.1 模块独立于 JPA 实现?

我有一些 JPA 模块,其中包括使用 @Index 的实体和一些使用 EntityManagerFactory 等的代码,这些代码目前直接依赖于 OpenJPA。什么是使它独立于 JPA 实现而不将其限制为 Java 7 的好方法?

基本上,我正在寻找一些实现中立的 JPA 2.1 规范 jar。有这样的事吗?如果我的意图没有意义,请告诉我原因。

0 投票
1 回答
2318 浏览

java - JPA 2.1 Eager Fetch 属性

我有一个属性(元数据中的creationTimestamp),我将其注释为延迟加载。不,我需要一个实体来加载渴望。我尝试使用获取图表但没有成功。是否有类似 JOIN FETCH 的功能可以用来在查询中获取它?

我将 Wildfly 与捆绑的休眠一起使用。

当我尝试使用 fetch graph 获取它时,我得到了 hibernate 找不到 id 字段的异常。该字段在实体库中(受保护)。

导致此异常:

有没有办法像获取连接一样获取属性?还是我必须以另一种方式引用获取图?

最好的问候,米

0 投票
1 回答
2657 浏览

jpa - EclipseLink-6015 表达式中的查询键 [客户] 无效

我需要得到的都是Events where CustomerEvent.customer.id = 123。我实际上得到的是例外。

仅具有相关成员的简化实体:

询问:

例外: