草庐IT

jpa-criteria

全部标签

java - Spring Data Rest JPA - 无法延迟加载 OneToMany 双向关系

我有两个实体,Company和Job,具有OneToMany双向关系。我的问题是我不能延迟加载公司的Listjobs.例如当我这样做时:获取/api/companies/1这是JSON响应:{"id":1,"name":"foo",..."_embedded":{"jobs":[{...},...{...}],"employees":[{...},{...}]},"_links":{"self":{"href":"http://localhost:8080/api/companies/1"},"jobs":{"href":"http://localhost:8080/api/compa

java - Hibernate/JPA - 访问 SingularAttribute 参数时出现 NullPointerException

我尝试在Hibernate5.0.7.Final中使用JPA2类型安全条件查询。...criteria.where(builder.equal(root.get(SingularAttribute.attr),value));//whereparametersare//criteria.where(builder.equal(root.get(Person_.name),"Can"));...root.get总是抛出NullPointerException。Person的元模型类Person_由org.hibernate.jpamodelgen.JPAMetaModelEntityPr

java - 使用 Hibernate Criteria API,如何查询仅存在于某些属性类型的属性的子属性

考虑类Account、RealAccount、VirtualAccount和Operation,这样:classAccount{}classRealAccountextendsAccount{Stringname;}classVirtualAccountextendsAccount{}classOperation{Accountaccount;}这意味着:只有RealAccount有一个名为name的字段。Operation的账户可以是RealAccount或VirtualAccount。我想查询属于具有特定名称的RealAccount的所有Operation:session.crea

java - 如何在附加条件下使用 Spring Data JPA 示例匹配器

我正在尝试使用SpringJPA的示例来进行搜索。有了下面的代码,大部分都符合要求。publicPagefindShops(Shopcondition,Pageablepageable){ExampleMatchermatcher=ExampleMatcher.matching().withStringMatcher(StringMatcher.CONTAINING).withIgnoreCase();returnshopDao.findAll(Example.of(condition,matcher),pageable);}此外,我只需要状态不等于DELETED的SHOP。比如,.w

java - AuditingEntityListener 的 Spring JPA Hibernate CET 时区

我没有成功为我的JPA应用程序设置CET时区,该应用程序使用AuditingEntityListener来增加创建/上次修改日期。我已经尝试过的事情:在我的application.properties(两种组合)中:spring.jpa.properties.hibernate.jdbc.time_zone=UTC+1spring.jpa.properties.hibernate.jdbc.time_zone=CET将时区添加到我的JDBC连接(两种组合)spring.datasource.url=jdbc:mysql://host:3306/db?useUnicode=true&us

java - 嵌入式的 JPA 2 XML 映射,以便它与 Hibernate 元模型生成器一起工作

我想为Hibernate(版本1.1.1-Final)(在Spring应用程序中)使用JPA2元模型生成器。因为我使用一个映射父类(superclass),它是所有实体的基础,并且这个类位于不同的jar中(为了重用)我需要在XML中显式映射这个类(仅用于元模型生成,因为它有效没有任何额外的时间)---可能有人会提示如何解决这个问题,但这不是问题。此映射的父类(superclass)(BusinessEntity)使用嵌入式类(BusinessId)。@SuppressWarnings("serial")@MappedSuperclasspublicabstractclassBusine

java - JPA事务回滚重试和恢复: merging entity with auto-incremented @Version

我想在交易失败后恢复。现在,当然,在任何回滚之后,所有实体都会分离并且实体管理器会关闭。但是,UI仍然保留分离的实体。显然我们不能就这样丢弃用户的更改,所以我们想让他们重试(修复突出显示的验证错误,然后再次单击按钮)。在JavaPersistenceWikiBook之后,OnemethodoferrorhandlingistocallmergeforeachmanagedobjectafterthecommitfailsintoanewEntityManager,thentrytocommitthenewEntityManager.Oneissuemaybethatanyidsthat

java - Spring Data Jpa - 扫描测试文件夹中的文件

我正在使用SpringDataJPA,这很奇怪,但它会尝试扫描(在部署期间)测试文件,这会导致错误:java.lang.ClassNotFoundException:org.junit.runner.RunWithatorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)...WARN:org.springf

java - 我如何在 JPA 中使用 Hibernate 的二级缓存?

我正在实现基于实体属性值的持久性机制。所有数据库访问都是通过Hibernate完成的。我有一个包含节点路径的表,它非常简单,只有一个id和一个路径(字符串)路径数量很少,大约几千条。主表有数百万行,我没有重复路径,而是将路径标准化为它们自己的表。以下是插入主表时我想要的行为1)检查路径表中是否存在路径(通过实体管理器查询,以路径值为参数)2)如果不存在,则插入并获取id(通过实体管理器持久化)3)将id作为外键值添加到主表行中,并将其插入到主表中。对于一组域对象,这将发生数千次,这些域对象对应于主表和其他一些表中的许多行。因此,使用这样的单个事务重复上述步骤:EntityTransac

java - Spring/JPA/JSF 的异常处理策略

我们在我们的应用程序中使用了JSF、Spring和JPA。我们正努力简化我们项目的异常处理策略。我们的应用架构如下:UI(JSF)-->托管Bean-->服务-->DAO我们正在为DAO层使用ExceptionTranslationbean后处理器。这是在SpringApplicationContext文件中配置的。其中Spring将所有数据库异常包装到'org.springframework.dao.DataAccessException'。我们没有在DAO层中进行任何其他异常处理。我们处理异常的策略如下:表示层:ClassPresentationManangedBean{try{s