[英]Saving a foreign key using entity with only id valorized
如果我有兩個像這樣的休眠實體:
@Entity
class Company {
@Id
Integer id;
String name;
}
@Entity
class Person {
Integer id;
String name;
@ManyToOne
Company company;
}
我有一個已經存儲的公司,例如Company(id:1, name:"Acme")
我可以創建一個僅用其ID引用公司的人,而不是加載整個記錄,例如:
Session session = SessionFactory.openSession();
Company acme = new Company();
acme.setId(1);
Person person = new Person();
person.setName("Manuel");
person.setCompany(acme);
session.save(person);
它是否僅保存引用,還是使用name=null
更新公司?
是的,您可以做到。
它是否僅保存引用,還是使用name = null更新公司?
使用默認的cascade
,這樣,Hibernate將什么也不做。 因此答案是:它只保存一個外鍵。
最有效的方法(也適用於JPA)是使用session.load(Company.class, 1)
。 它不向數據庫發出任何請求就返回一個代理。 但是,當然,您需要為此舉行一次會議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.