草庐IT

java - 标准 JPA 2 与 3 个表格

我正在尝试创建一个标准以从3个表(关联、更新和详细信息)中检索一些对象。详细信息引用关联和更新,更新引用详细信息列表。我的目标是检索在指定字段中至少具有空值的详细信息的更新列表,给定关联ID。在JPQL中很容易做到,但客户说这必须用标准编码。我的JPQL是:publicListgetUpdates(longassociateId){TypedQueryquery=em.createQuery("selectdistinctufromUpdateu,Detaildt,Associatea"+"wheredt.update=uanddt.associate=aanda.associateI

java - 标准 JPA 2 与 3 个表格

我正在尝试创建一个标准以从3个表(关联、更新和详细信息)中检索一些对象。详细信息引用关联和更新,更新引用详细信息列表。我的目标是检索在指定字段中至少具有空值的详细信息的更新列表,给定关联ID。在JPQL中很容易做到,但客户说这必须用标准编码。我的JPQL是:publicListgetUpdates(longassociateId){TypedQueryquery=em.createQuery("selectdistinctufromUpdateu,Detaildt,Associatea"+"wheredt.update=uanddt.associate=aanda.associateI

java - 使用 JPA/Hibernate 注释映射字符串列表

我想做这样的事情:@EntitypublicclassBar{@Id@GeneratedValuelongid;ListFoos}并让Foos保存在这样的表中:foo_bars(bar_idint,foovarchar(64));更新:我知道如何映射其他实体,但在很多情况下这太过分了。如果不创建另一个实体或在某个blob列中结束所有内容,我的建议似乎是不可能的。 最佳答案 如果你使用JPA2,你会这样做:@EntitypublicclassBar{@Id@GeneratedValuelongid;@ElementCollection

java - 使用 JPA/Hibernate 注释映射字符串列表

我想做这样的事情:@EntitypublicclassBar{@Id@GeneratedValuelongid;ListFoos}并让Foos保存在这样的表中:foo_bars(bar_idint,foovarchar(64));更新:我知道如何映射其他实体,但在很多情况下这太过分了。如果不创建另一个实体或在某个blob列中结束所有内容,我的建议似乎是不可能的。 最佳答案 如果你使用JPA2,你会这样做:@EntitypublicclassBar{@Id@GeneratedValuelongid;@ElementCollection

java - JPA - 如果不存在则创建实体?

我的JPA/Hibernate应用程序中有几个映射对象。在网络上,我收到代表这些对象更新的数据包,或者实际上可能完全代表新对象。我想写一个类似的方法TgetOrCreate(Classklass,ObjectprimaryKey)如果一个对象存在于数据库中,则返回所提供类的对象,使用pkprimaryKey,否则创建该类的新对象,将其持久化并返回。接下来我将对对象执行的操作是在事务中更新其所有字段。在JPA中有没有一种惯用的方法来做到这一点,或者有没有更好的方法来解决我的问题? 最佳答案 I'dliketowriteamethodl

java - JPA - 如果不存在则创建实体?

我的JPA/Hibernate应用程序中有几个映射对象。在网络上,我收到代表这些对象更新的数据包,或者实际上可能完全代表新对象。我想写一个类似的方法TgetOrCreate(Classklass,ObjectprimaryKey)如果一个对象存在于数据库中,则返回所提供类的对象,使用pkprimaryKey,否则创建该类的新对象,将其持久化并返回。接下来我将对对象执行的操作是在事务中更新其所有字段。在JPA中有没有一种惯用的方法来做到这一点,或者有没有更好的方法来解决我的问题? 最佳答案 I'dliketowriteamethodl

java - JPA Criteria Query distinct

我正在尝试编写一个不同的条件查询,使用:CriteriaBuilderbuilder=em.getCriteriaBuilder();CriteriaQueryquery=builder.createQuery(RuleVar.class);RootruleVariableRoot=query.from(RuleVar.class);query.select(ruleVariableRoot.get("foo").get("foo")).distinct(true);基于CriteriaQuery.select()的javadoc中的示例CriteriaQueryq=cb.create

java - JPA Criteria Query distinct

我正在尝试编写一个不同的条件查询,使用:CriteriaBuilderbuilder=em.getCriteriaBuilder();CriteriaQueryquery=builder.createQuery(RuleVar.class);RootruleVariableRoot=query.from(RuleVar.class);query.select(ruleVariableRoot.get("foo").get("foo")).distinct(true);基于CriteriaQuery.select()的javadoc中的示例CriteriaQueryq=cb.create

java - 如何命名自 JPA 2.1 以来的 ManyToOne 引用的外键约束?

@org.hibernate.annotations.ForeignKey已被弃用,但我找不到任何示例JPA2.1等效项的外观?@ManyToOne@ForeignKey(name="FK_USER")//@deprecatedPrefertheJPA2.1introduced{@linkjavax.persistence.ForeignKey}instead.privateUseruser;如果没有弃用的注解如何实现? 最佳答案 作为thedocumentation表示,此注解不能应用于任何东西:@Target(value={})

java - 如何命名自 JPA 2.1 以来的 ManyToOne 引用的外键约束?

@org.hibernate.annotations.ForeignKey已被弃用,但我找不到任何示例JPA2.1等效项的外观?@ManyToOne@ForeignKey(name="FK_USER")//@deprecatedPrefertheJPA2.1introduced{@linkjavax.persistence.ForeignKey}instead.privateUseruser;如果没有弃用的注解如何实现? 最佳答案 作为thedocumentation表示,此注解不能应用于任何东西:@Target(value={})