Con*_*asy 7 java jpa spring-data-jpa
假设您正在创建类型为 的新实体,假设您知道ID 为 1 的a存在,那么UserUser 具有嵌套对象,是否有一种简单的方法可以在 new和 existing之间形成关联?BillingBillingUserBilling
假设获取一个Billing对象设置给用户是一个昂贵的操作,因此获取整个 Billing 对象并将其设置给用户的解决方案不是一个选项。
我的问题是,是否有使用 spring 数据保存实体与其嵌套对应物之间的这种关系的快捷方法?
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int userId;
private String name;
@ManyToOne
@JoinColumn(name = "billing_id")
private Billing userBill;
// constructor
// getters and setters
}
Run Code Online (Sandbox Code Playgroud)
例如在 sudo 代码中:
User bob = new User();
bob.billingId.id = 1;
userRepository.save(bob);
Run Code Online (Sandbox Code Playgroud)
cri*_*zis 10
绝对地。
JpaRepository.getOne(id)(与CrudRepository.findById) 将在EntityManager.getReference(entityType, id)内部调用,这是指定用于处理此确切用例的方法(获取对实体的引用,而不加载其关联状态)。
要回答您的问题,您想要的是:customer.setBilling(billingRepository.getOne(billingId))。
| 归档时间: |
|
| 查看次数: |
4316 次 |
| 最近记录: |