【发布时间】:2020-04-14 09:40:20
【问题描述】:
我有一些代码,但它在 personRepository.save(person2) 处出现错误,无需修复此问题,只需向我解释为什么会抛出此错误:分离的实体传递给持久化。
@Entity
public class Person {
@Id
@GeneratedValue
@Column(name = "id")
private Long id;
@Column(name = "name")
private String name;
@Column(name = "wallet_id", insertable = false, updatable = false)
private Long wallet_id;
@ManyToOne (fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "wallet_id",referencedColumnName = "id", insertable = true, updatable = true )
private Wallet wallet;
}
public void testSave(String name) {
Wallet walletNewNoHaveInDB = new Wallet(); // Generated id.
Person person = new Person(); // Generated id.
person.setName(name);
person.setWallet(walletNewNoHaveInDB);
personRepository.save(person); // This is OK and inserted into DB both(wallet , person).
Person person2 = new Person(); // Generated id.
person2.setName(name);
person2.setWallet(walletNewNoHaveInDB);
personRepository.save(person2); /// detached entity passed to persist
}
【问题讨论】:
标签: java hibernate jpa entitymanager