问题标签 [jpa]

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

servlets - 未注入时如何关闭 EnityManager?

我有一个在 Oracle OCCAS 服务器中运行的 servlet。目前,我使用@Entity 注释将数据库中的一些数据映射到我的应用程序中的实体类。不过,我无法注入 EntityManager (@PersistenceContext),据我了解,这是因为它在我的 servlet 上下文中运行,而不是作为单独的实体 EJB 运行。但是,通过 EntityManagerFactory 创建管理器是可行的,所以这就是我目前使用的。

现在,在多次重新启动应用程序后,我得到了 PermGen 空间不足的错误。我认为这与某种持久性有关。在我的 finalize 方法中有一个对 EntityManager.close() 的调用,但它从未出现在日志中。

这是一种糟糕的做事方式 - 我是否“需要”拥有一个单独的实体 Bean,或者我应该如何清理 EntityManager?

0 投票
11 回答
183722 浏览

java - JPA CascadeType.ALL 不删除孤儿

我在使用具有以下映射的 JPA 删除孤立节点时遇到问题

我遇到了围绕数据库的孤立角色的问题。

我可以使用注释org.hibernate.annotations.CascadeHibernate 特定标记,但显然我不想将我的解决方案绑定到 Hibernate 实现中。

编辑:似乎 JPA 2.0 将包括对此的支持。

0 投票
8 回答
398212 浏览

java - Hibernate:根据实体类自动创建/更新数据库表

我有以下实体类(在 Groovy 中):

和我的persistence.xml:

和脚本:

数据库Icarus存在,但目前没有表。我希望 Hibernate 基于实体类自动创建和/或更新表。我将如何做到这一点?

0 投票
5 回答
26851 浏览

java - ejb3-persistence.jar 源码

好吧,我一定是脑残了,因为我找不到Sun的persistence.jar或JBoss的ejb3-persistence.jar JPA包的java源。它们开源的,不是吗?

我浏览了整个 java.sun.com 站点以及 GlassFish wiki,但都是空的。

我想要一个 src.zip 或 Sun 随 Java JDK 一起提供的文件夹。

当然,我真的不必拥有它,但我觉得偶尔浏览一下源代码很有趣。它有时可以帮助我调试我的代码。

0 投票
2 回答
5207 浏览

java - JPA 事务中的 java.lang.UnsupportedOperationException

我很确定我对 JPA 不了解(我正在使用 OpenJPA)并且它导致了这个问题。我想复制一个 Job 实体。

在创建第一个副本时,运行以下代码可以正常工作。

尝试创建第二个副本失败并...

在 JobManager.copyJob() 方法中抛出此异常(在行:attachJob.getCopies().add(newJob);)...

这是我正在使用的生成的数据库模式......

查看 OpenJPA 1.2 源代码显示未实现 DetachedStateManager.getMetaData() 方法,所以我想知道为什么要调用它。有小费吗??

0 投票
2 回答
708 浏览

java - 类似于使用 JSF 的 O/R 映射的自动实体映射?

使用 JPA,我不需要为每个新属性编写 SQL,因为 o/r 映射是自动完成的。

由于我是 JSF 的新手,我想知道 JSF 是否有类似的可能性?

我不想每次在相应实体处更改某些内容时都向 jsf 数据表添加新代码。

0 投票
3 回答
2397 浏览

java - JPA/Hibernate 映射以存储月份和日期

我有以下 POJO:

有没有办法使用 JPA+Hibernate 将这些对象存储到以下数据库结构中:

表月份:

表天数:

这种情况有更好的解决方案吗?

0 投票
5 回答
11617 浏览

java - 帮助我在 JPA 中的选择查询有问题

我有问题我想

从杂志中选择 name_magazine

我已经导入了所有需要的库

查询 q = EntityManger.createQuery("SELECT name_magazine FROM Magazine");

列表结果 = (List) q.getResultList ();

For(Sting s : 结果)

System.out.println(s);

但是当我运行这段代码时,它是错误的。有人能帮我吗?谢谢

这是我运行程序时的错误

209) 在 tugas_rpl.Tugas_RPLView.Iseng(Tugas_RPLView.java:734) ... 34 更多原因:异常 [TOPLINK-8034] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007)) ): oracle.toplink.essentials.exceptions.EJBQLException 异常描述:编译查询时出错 [Select m.Name from magazine m]。未知的抽象模式类型 [杂志]。在 oracle.toplink.essentials.exceptions.EJBQLException.unknownAbstractSchemaType(EJBQLException.java:494) 在 oracle.toplink.essentials.internal.parsing.ParseTreeContext.classForSchemaName(ParseTreeContext.java:163) 在 oracle.toplink.essentials.internal.parsing .VariableNode.resolveClass(VariableNode.java:280) 在 oracle.toplink.essentials.internal.parsing.DotNode.resolveMapping(DotNode.java:254) 在 oracle.toplink。

我已经尝试过 Vincent Ramdhanie,Guðmundur Bjarni 的建议

查询 q = entityManager.createQuery("从杂志 m 中选择 m.name");

列表结果 = (List) q.getResultList();

For(Sting s : 结果)

System.out.print(s);

但仍然错误

这是我使用的库和变量

私有 javax.persistence.EntityManager 实体管理器;

导入 org.jdesktop.application.Action;

导入 org.jdesktop.application.ResourceMap;

导入 org.jdesktop.application.SingleFrameApplication;

导入 org.jdesktop.application.FrameView;

导入 org.jdesktop.application.TaskMonitor;

导入 org.jdesktop.application.Task;

导入 java.awt.event.ActionEvent;

导入 java.awt.event.ActionListener;

导入 java.util.ArrayList;

导入 java.util.List;

导入 javax.swing.Timer;

导入 javax.swing.Icon;

导入 javax.swing.JDialog;

导入 javax.swing.JFrame;

导入 javax.swing.event.ListSelectionEvent;

导入 javax.swing.event.ListSelectionListener;

导入 org.jdesktop.beansbinding.AbstractBindingListener;

导入 org.jdesktop.beansbinding.Binding;

导入 org.jdesktop.beansbinding.PropertyStateEvent;

导入 javax.persistence.*;

0 投票
4 回答
16150 浏览

java - 如何使用 Hibernate/JPA 注释覆盖 GenerationType 策略?

我正在考虑使用 Annotations 来定义我的 Hibernate 映射,但遇到了一个问题:我想使用基实体类来定义公共字段(包括 ID 字段),但我希望不同的表具有不同的 ID 生成策略:

有没有办法做到这一点?我已经尝试将以下内容包含在TableB但hibernate反对我两次拥有相同的列,这似乎是错误的:

0 投票
4 回答
42576 浏览

java - JPA 多个嵌入式字段

JPA 实体类是否可以包含两个嵌入的 ( @Embedded) 字段?一个例子是:

在这种情况下, aPerson可以包含两个Address实例 - home 和 work。我将 JPA 与 Hibernate 的实现一起使用。当我使用 Hibernate Tools 生成模式时,它只嵌入了一个Address. 我想要的是两个嵌入式Address实例,每个实例的列名都有区别或前缀有一些前缀(例如 home 和 work)。我知道@AttributeOverrides,但这需要单独覆盖每个属性。如果嵌入对象 ( Address) 变得很大,因为需要单独覆盖每一列,这会变得很麻烦。