Hibernate 当我知道主键但不知道时,建立JPA关系';您没有主键的实体吗?
考虑这样一个实体Hibernate 当我知道主键但不知道时,建立JPA关系';您没有主键的实体吗?,hibernate,jpa,Hibernate,Jpa,考虑这样一个实体 public class SomeEntity { @ManyToOne @JoinColumn(name = "company_fk") private CompanyEntity company; } company_fk列是一个整数。在我的应用程序中,我经常发现自己处于这样一种情况:我有company_fk整数,但不一定有CompanyEntity 我想做的是创建某个实体的新实例,并将其与CompanyEntity关联,这样我就必须从db中读取C
public class SomeEntity {
@ManyToOne
@JoinColumn(name = "company_fk")
private CompanyEntity company;
}
company_fk列是一个整数。在我的应用程序中,我经常发现自己处于这样一种情况:我有company_fk整数,但不一定有CompanyEntity
我想做的是创建某个实体的新实例,并将其与CompanyEntity关联,这样我就必须从db中读取CompanyEntity,以便建立关系。这不是很好,因为我要去db,即使我不需要这样做
有没有办法避免仅仅为了建立关系而加载实体?我将JPA2与Hibernate一起使用,如果有办法,我愿意使用Hibernate-only映射来实现这一点 这正是存在的原因。它假定具有给定ID的实体存在,并向该实体返回代理:
// get a reference to the company without going to the DB:
CompanyEntity company = em.getReference(CompanyEntity.class, companyId);
SomeEntity e = new SomeEntity();
e.setCompany(company);
Hibernate的本机会话类具有相同的方法,只是它被称为load()