保存

时间:2016-04-26 19:50:05

标签: java spring hibernate spring-data spring-data-jpa

我有一个Spring Data JPA项目,我的实体如下

@Entity
@Table(name = "delivery_offers")
public class DeliveryOffer {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@OneToOne
@JoinColumn(name = "DELIVERY_ID")
private Delivery delivery;

... other fields

该表还有一个DELIVERY_ID的外键,它引用了DELIVERY.ID

我的Dao是一个JpaRepository对象,我尝试使用dao.saveAndFlush(deliveryOffer)来保存DeliveryOffer。 我也设置了delivery.id = xy 我想返回持久化的DeliveryOffer对象,所以我在我的控制器中创建

return dao.saveAndFlush(deliveryOffer)

问题是,在返回的DeliveryOffer中,引用的Delivery对象字段除了id之外都是null,我为deliveryOffer.delivery.id设置了id(交付存在于具有给定id的DB中)

如果我尝试使用findOne从最近的事务中获取“较旧”的deliveryOffer,则会正确填充引用的传递。

所以我想,它必须对交易做些什么。我想,saveAndFlush会立即提交它,所以在返回对象中我会等待正确的实体。

你有一个想法,为什么此时交货是空的?

0 个答案:

没有答案