我有這樣一個模型:Hibernate的問題,多對一映射給予空
@Entity
[...]
class ParentObject{
[...]
@OneToMany(cascade = CascadeType.ALL, mappedBy= "parentObject", orphanRemoval = true)
private List<Relationship> relationship;
}
和關係的實體:
@ManyToOne
@JoinColumn(name="PARENT_OBJECT_ID")
private ParentObject parentObject;
,一切工作就更新罰款和保存。只有當我嘗試創建裏面有新的關係的新ParentObject:
parentObject: {
id: null,
relationship: [
{id:null,
parentObjectId:null,
[...]
}]
}
休眠沒有對ParentObject的ID,所以Relationship.parentObject.id爲空。數據庫拋出一個錯誤說:
不能將NULL插入( 「MYDB」 「關係」 「PARENT_OBJECT_ID」。)
任何幫助,將不勝感激。
編輯:這裏是我的服務代碼:
public ParentObjectDto save(ParentObjectDto parentObjectDto) {
ParentObject parentObject = dtoConverter.convert(parentObjectDto, ParentObject.class);
boolean isNewPO = parentObject.getId() == null ? true : false;
parentObject = parentObjectRepository.save(parentObject);
if (isNewPO) {
// This loop ensures that when a new PO is added, the child relationship
// objects are connected with the new parentObject that was just added.
for (Relationship relationship : parentObject.getRelationship()) {
relationship.setParentObject(parentObject);
}
}
return dtoConverter.convert(parentObject, ParentObjectDto.class);
}
課程的名稱是不是我寫在這裏的,我只是改變他們更加理解,如果我有任何拼寫錯誤,這是從我的手動更改:)
你可以發佈你的服務代碼,創建並堅持對象嗎? – 2014-12-04 10:13:49
是的,我只是添加了我的服務代碼。 – 2014-12-04 11:02:14