jpa相关内容

JPA持久化与现有实体有关系的新实体

我有两个具有@ManyToMany关系的实体,让我们举一个常见的示例学生和课程,我正在持久化一个新课程和一个学生列表,如果列表中有一个新学生,它应该级联新的学生,如果它已经存在,它应该更新它。 对于新学生和新课程的情况,它工作得很好,但是对于新课程和现有学生,我从数据库中抛出了一个唯一的约束违反。关系如下。 @Entity @Table public class Course impl ..
发布时间:2022-08-09 15:59:50 Java开发

JPA急于加载FetchType.LAZY子集合

我看到过几个类似的问题,答案为0。 这应该非常简单。我使用的是Java JPA,有时我想加载子实体列表,但不是所有时间都加载子实体列表。不幸的是,当我说懒惰地取它时,JPA似乎没有在听我说。我已经100%地确定,在我的代码中没有任何地方可以以任何方式访问ChildEntities属性。但是,所有子实体仍然会立即加载到我的JPA.em().find(..)打电话。这就是我声明与批注的关系的方式 ..
发布时间:2022-08-08 10:03:13 其他开发

最佳做法是在添加到@ManyToMany的所有者端集合时避免选择所有行

当添加到表示@ManyToMany关联的所属方的集合时,我的JPA实现(Hibernate)将首先选择关联中的所有行,以确定该实体是否已经存在于集合中。 我了解这背后的机制,但在处理大型连接表时,这不是很好的性能。当我知道需要插入条目时,避免加载连接表的所有元素的最佳做法是什么? 我将以一个典型的用户/角色场景为例,为简洁起见,省略了getters/setters/初始化式: @ ..
发布时间:2022-08-03 13:59:32 Java开发

JPA本机查询删除位置

我尝试使用此本机查询从表中删除行列表: @NamedNativeQuery(name="WebGroup.DeleteIn", query="DELETE FROM WebGroup WHERE WebGroup.GROUP_ID IN (:IDsList)" getEm().createNamedQuery("WebGroup.DeleteIn") .setP ..
发布时间:2022-07-12 19:35:53 其他开发

HQL/JPQL日期算法

我要编写hql或jpql查询 ...from x, y where x.creationDate > (y.startDate - 10 days) 有可能吗?我见过一些answers from 2009,上面写着在休眠方言中注册特定于db的函数。Hibernate/JPA仍然不支持日期运算吗? 推荐答案 为此,我举了一个这样的示例 使用此选项,我将找到project. ..
发布时间:2022-07-04 20:32:00 Java开发

Spring Batch JPA Bulk Insert在使用GenerationType.IDENTITY时性能下降

我使用Spring Boot and Spring Batch and JPA将数据从一个数据库加载到另一个数据库。在单个批处理作业中,我创建了10 steps以按顺序运行步骤,每个步骤读取几乎1 millions个记录(我不能并行运行,因为我没有并行加载数据)。 我使用了GenerationType.IDENTITY,因为这个批处理作业花费了大量时间,所以看起来像是。如果我说加载100 r ..
发布时间:2022-06-28 09:24:00 其他开发

如何使用JPA CriteriaBuilder seltCase()使其可以有谓词作为结果?

我需要实现一个具有If...Then...Else方案的条件查询。 我发现javax.persistence.criteria.CriteriaBuilder.selectCase()适合于此目的。它返回Expression作为结果。 要运行条件查询,我需要使用接受谓词数组的where()。这是因为我有多个谓词要包含在查询中。 现在,由于selectCase()返回Expression ..
发布时间:2022-06-15 23:57:07 Java开发

UPDATE/DELETE查询不能键入JPA

我正在使用Spring框架来处理培训项目。我也在使用JPA,并且经历了一段时间的地狱。在我的DAO实现类中,我写道: @Override public void deleteEntries(Module mod) { System.out.println(mod.getDescription()); entityManager.createQuery("delete from ..
发布时间:2022-05-30 21:47:17 Java开发

如何避免使用JPA注释循环引用?

我正在为一家商店注释域模型(使用JPA 2,使用Hibernate提供程序)。 在商店里,每件产品都可以有Category。每个类别可以被分配到几个超类别和子类别中,这意味着类别“蜡烛”可以将“餐厅”和“装饰”作为父母,将“普通蜡烛”和“多芯蜡烛”作为孩子,等等。 现在我要避免循环引用,即类别“a”的父级为“b”,而类别“a”的父级又为“a”。 有没有办法在JPA中检查带有约束的 ..
发布时间:2022-05-07 20:31:18 Java开发

测试Hibernate@Check约束时无法生成约束冲突异常

我正在使用Hibernate@Check批注,但不能让我的测试在不满足约束时失败。当前仅对H2数据库使用默认的Spring启动配置。 我错过了什么?save(..)之后是否应该有某种刷新? 运行测试时,我看到正确创建了表。如果我从日志中复制创建行,并使用它在我的“真正的”postgres数据库中创建表,我可以测试不同的插入,并看到此行完全可以使用约束。 实体 @Getter ..
发布时间:2022-04-08 11:20:45 Java开发