我有一个名为User的实体,它与一个名为Company的实体有以下关系:
@Entity
public class User {
...
@ManyToOne
@JoinColumn(name="COMPANY_ID",referencedColumnName="ID")
private Company company = null;
...
}
在我的数据库中,我有一个带有"COMPANY_ID“列的用户表。如何使用此字段创建JPA条件查询?
使用条件生成器,我尝试了以下表达式,但没有成功:
CriteriaBuilder cb = entityMan
我有以下实体:
@Entity
@Table(name = "user_data")
public class UserData {
...
@ManyToOne
private User user;
...
}
@Entity
@Table(name = "user_cars")
public class UserCar {
...
private Integer userId;
...
}
@Entity
@Table(name = "users")
public class Use
如何使用CriteriaBuilder构造表单SELECT a FROM e.attributes a ....的子查询,其中e是外部查询中引用的某个实体?
我有一些实体类,这些类包含一个自由形式的键值结构(它有自己的问题,但这正是我所拥有的)。我需要找到存在某些键值对的实体。我可以将它写成对表单的JPQL查询:
SELECT e FROM Entity e
WHERE e.type = 'foo'
AND EXISTS (SELECT a FROM e.attributes a
WHERE a.key = 'bar'
我想用JPA/Hibernate标准API.加载特定客户的所有CustomerRequests。
具体而言:我希望加载包含特定CustomerRequest的CustomerRequest2Customer条目的所有customerId。
@Entity
public class CustomerRequest {
@Id
private int id;
private int priority;
@OneToMany(mappedBy = "customerRequestId")
private List<CustomerRequ
如何在JPA2.1中调用@PreUpdate注释的方法(包括@PrePersist、@PreRemove和其他方法)?以下面的CriteriaUpdate查询为例:
Brand brand=//... Populated by client. The client is JSF in this case.
byte[] bytes=//... Populated by client. The client is JSF in this case.
CriteriaBuilder criteriaBuilder=entityManager.getCriteriaBuilder();
Crite
我希望使用标准类型化查询实现以下查询:
SELECT
a.*
FROM
table_a a
INNER JOIN table_b b ON a.id= b.id
WHERE
b.url = 'value.org';
标准查询:
final CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
final CriteriaQuery<A> criteriaQuery = criteriaBuilder.createQuery(A.cla
我有以下几个类:
@Entity
public class Object {
@ManyToOne
@JoinColumn(name="RelationId", referencedColumnName = "ID", nullable=true)
private Relation relation;
}
@Entity
public class Relation{
@OneToMany(mappedBy="relation")
private Set<Object> objects = new Has
我有两个实体Customer和Product,与懒惰策略的关系是一对多。
问题是fetch不是懒惰的,产品集合总是获取所有相关的产品。
public Optional<Customer> findById(final long customerId) {
final EntityManager entityManager = sessionFactory.createEntityManager();
final CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
fina
我正在使用JPA2和Hibernate 3。我注意到调用EntityManager.merge()会导致对象图中的每个引用实体上都有一个SELECT,以及它们之间的一些内部连接。
假设您想合并()一个FooBar。
@Entity
public class FooBar {
@ManyToOne
private Foo foo;
@ManyToOne
private Bar bar;
}
@Entity
public class Foo {
@ManyToOne
private Baz baz;
}
@Entity
public class
我有两个实体:
@Entity
public class Organization {
@Column(name = "name")
public String name;
@OneToMany(mappedBy = "organization")
public Collection<Tin> tin;
}
@Entity
public class Tin {
@Column(name = "name")
public String name;
@ManyToOne(fet
我找不出最简单的东西是什么,因为我哪儿都找不到。我在使用count时找到了一些示例,但是我无法将它们放在当前的代码中。
这样做的目的是根据传递的id计算有多少实体链接到另一个实体。
守则如下:
final EntityManager em = this.entityManager();
final CriteriaBuilder builder = em.getCriteriaBuilder();
final CriteriaQuery<Dataset> criteriaQuery = builder.createQuery(Dataset.class);
我想构建一个Specification来过滤一个属性,该属性不是直接包含在实体中,而是包含在"second join“中。 实体看起来(非常简单)如下所示: @Entity
public class A {
@Id
private UUID id;
@OneToMany(mappedBy=pk.a)
private List<B> b;
}
@Entity
public class B {
@EmbeddedId
private PK pk;
}
@Embeddable
public class PK {
@M
我有两个JPA实体
class A{
@OneToMany
Lis<B> entitiesB;
@Column("STATUS")
String status;// will sort based on this column
}
和
class B{
@ManyToOne
A entityA;
@Column("PROPERTY_ONE")
String propertyOne;
....
@Column("PROPERTY_M")
String