【发布时间】:2018-05-20 02:19:30
【问题描述】:
我读过https://vladmihalcea.com/the-best-way-to-map-a-onetoone-relationship-with-jpa-and-hibernate/。 我尝试了类似的建议配置(使用 spring data JPA,hibernate 5.0 作为供应商):
public class PaperSubjectType{
@Id
private Long id;
@OneToOne(fetch = FetchType.LAZY)
@MapsId
private PaperSetting paperSetting;
..
}
class PaperSetting{
@Id
@GeneratedValue
private Long id;
..
}
首先我尝试了这个例子:
PaperSetting paperSettingInDb = paperSettingRepository.findOne(1);
PaperSubjectType paperSubjectType = new PaperSubjectType();
paperSubjectType.setSubjectCode("91");
paperSubjectType.setPaperSetting(paperSettingInDb);
paperSubjectTypeRepository.save(paperSubjectType);
错误:分离的实体传递给 persist:PaperSetting。 级联时似乎休眠将 PaperSetting 视为分离
2 如果我想同时创建 PaperSubjectType 和 PaperSetting,我需要这样做吗:
PaperSetting paperSetting = new PaperSetting();
paperSetting.setxx;
PaperSetting paperSettingInDbNew = paperSettingRepository.save(paperSetting);
PaperSubjectType paperSubjectType = new PaperSubjectType();
paperSubjectType.setPaperSetting(paperSettingInDbNew);
paperSubjectTypeRepository.save(paperSubjectType);
或者我应该在这种情况下使用双向? 谢谢!
【问题讨论】:
标签: java spring hibernate jpa spring-data-jpa