我有一个使用 Spring JPA 的 Spring Boot 应用程序,我想做的是通过提供这些子实体的 ID 来保存一个具有一些外键的新实体。所以,比如:
@Table(name = "PERSON")
public class Person {
@Column(name = "PET_GUID")
public Pet pet;
}
使用它,我希望能够让实现 CrudRepository 的 PersonRepository 仅通过提供 Pet 的 guid 来保存一个人。使用直接休眠我可以使用 EntityManager.getReference 来做到这一点。我知道我可以将 EntityManager 注入到我的 Entity 或 Repository 中并以这种方式执行某些操作,但是有更简单的方法吗?我尝试只做 person.setPet(new Pet(myPetsGuid)),但是这样做时我得到一个“找不到外键”,所以这似乎不起作用。