草庐IT

java - 如何使用 JPA 检索多个对象?

我将JPA2/hibernate与此数据模型一起使用:classStock{@ManyToOneprivateStockGroupstockGroup;privatebooleanvisible;}classStockGroup{@OneToMany(mappedBy="stockGroup")privateListstocks;}我想检索包含Stock的StockGroup,其中visible==true。我想出了这个错误的代码:CriteriaBuildercb=em.getCriteriaBuilder();CriteriaQueryq=cb.createQuery(StockG

java - 基本 JPA 问题 : "Could not determine type for: java.util.Set"

我刚刚开始在PlayFramework网络应用程序中构建我的JPA架构。我对SQL有一定的了解,但我是JPA新手,在第一个障碍上就被绊倒了。根据Play教程,我假设您只是创建Java类,JPA/Play会自动为您创建模式。所以我想在两个模型类Rankable和Tag之间创建ManyToMany关系:@Entity@Inheritance(strategy=InheritanceType.JOINED)publicclassRankableextendsModel{publicStringname;privateSettags;@ManyToMany()@JoinTable(name="

java - 在 JPA 中使用 GROUP BY

我在问题实体和类别实体之间建立了@ManyToMany关系。我想统计每个类别中的问题数量。我该怎么做? 最佳答案 selectcount(question.id),category.descriptionfromCategorycategoryleftjoincategory.questionsquestiongroupbycategory.description 关于java-在JPA中使用GROUPBY,我们在StackOverflow上找到一个类似的问题:

java - 基于 JPA 注释生成 ERD(实体关系图)的工具

我正在使用ormlite编写java代码。我想知道是否可以从我的代码中的JPA注释生成ERD。基本上,我需要这个的反面:HowcanItransformEntity-BaseddiagramtoaJPAjavacode 最佳答案 IntelliJIDEA(旗舰版)为ER-Diagram生成器提供JPA。在Persistence工具窗口中,选择适当的节点。然后使用上下文菜单选择“ER图”。请注意,JPAfacet必须链接到模块并且UML插件应该处于Activity状态。 关于java-基于

java - Hibernate/JPA 中注释字段或 getter 方法之间的性能差异

我很好奇是否有人对使用私有(private)字段而不是公共(public)getter方法注释实体之间的性能差异有任何确切的数字。我听说人们说字段速度较慢,因为它们被称为“通过反射”,但getter方法也是如此,不是吗?Hibernate需要先将该字段的可访问性设置为true,然后再尝试读取它,我可以看到这有一些轻微开销。然而,这不会在session范围内的类级别完成,或者可能只在读取配置和构建SessionFactory时完成一次吗?只是好奇这是否是一个神话,或者是否真的存在;我个人认为注释字段更具可读性。 最佳答案 将5000条

java - 如何通过 Spring XML 配置文件配置 JPA EntityListener?

我有两个Web应用程序,它们构建在一起,分别提供对数据库的客户端和管理员访问权限。我想向给定类注册两个JPAEntityListener,每个应用程序一个。为此,我试图找到一种方法来通过配置每个应用程序的JPA上下文的SpringXML配置文件注册监听器......但找不到任何方法。有人做过类似的事情吗?这是XML配置文件的一部分:validate我认为有一种方法可以围绕这些元素注册一个监听器,尤其是JPAProperties,因为它似乎是设置JPA配置元素的地方......JPA规范谈到实体监听器XML元素,但我找不到将它们注入(inject)可用Spring元素的方法...我是Sp

java - JPA - 实体设计问题

我正在开发Java桌面应用程序并使用JPA进行持久化。我有下面提到的问题:我有两个实体:国家城市国家有以下属性:国家名称(PK)城市有以下属性:城市名现在两个不同的国家可以有两个同名的城市,数据库中City表的主键是一个复合主键,由CityName和CountryName组成.NowmyquestionisHowtoimplementtheprimarykeyoftheCityasanEntityinJava@EntitypublicclassCountryimplementsSerializable{privateStringcountryName;@IdpublicStringge

java - JPA @OneToMany 和@ManyToOne : back reference is null

我有以下数据结构。@EntitypublicclassDeviceextendsAbstractEntityimplementsSerializable{privateintid;//...privateListitems;@OneToMany(fetch=FetchType.EAGER)publicListgetItems(){returnconfigurationItems;}}每个项目都包含对设备的反向引用:classItem{privateDevice;@ManyToOne(cascade={CascadeType.PERSIST,CascadeType.MERGE,Casca

java - 检索 JPA 实体列表和元数据

我想知道是否有办法获取JPA中特定持久单元的所有实体类及其元数据。我所说的元数据不仅指字段,还指它们的列名、长度、精度、数据类型以及表名和我可以获得的任何内容。我尝试使用元模型,但我认为这仅适用于JPQL查询。我需要能够向用户显示某些PU的所有Activity实体,并且我不想将它们硬编码到某个数组或数据库中,我希望API告诉我它有哪些实体。而且,如果可能的话,获取每个实体的托管实例。我想我可以尝试使用反射来获取所有带有@Entity注释的类,但这不会很漂亮,而且很难知道哪个属于特定的PU,所以如果api已经公开了这个信息那就太好了。我更喜欢符合JPA的解决方案,但如果不可能,Hiber

java - JPA 如何在使用父级合并但创建子级时获取生成的 id/对象?

我有一个实体,该实体之前已保留并且与另一个实体具有@OneToMany关系。为了添加一个新实体,我只是在托管对象中添加我的新实体并使用cascadeType.ALL来保存更改。有没有一种方法可以让我获取新创建的对象的ID,或者获取我在合并中使用的原始(非托管)对象以更新其ID?在伪代码中,我希望发生以下情况:将为合并后的实体返回新副本旧副本将针对新实体进行更新例子:父A,id=13childB,id=0本质上,我想在父级上发出merge,但在子级上级联persist(以便更新而不是复制原始子实例)。显然这不会发生。我正在使用hibernate作为提供者。 最