当前位置: 首页 > 知识库问答 >
问题:

对象引用未保存的瞬态实例,在刷新之前保存瞬态实例:

班承恩
2023-03-14

上图显示了表之间的关系。

AddressType表包含静态值,如mailing、home、work等。

在AddressTypeRel模型类中,我有一个带有多对一注释的AddressType对象

public class AddressTypeRel implements java.io.Serializable{
.......

private AddressType addressType=new AddressType();
.......

@ManyToOne()
@LazyCollection(LazyCollectionOption.FALSE)
@JoinColumn(name="typeId", insertable=false, updatable=false, nullable=false)
@NotFound(action = NotFoundAction.IGNORE)
public AddressType getAddressType() {
   return addressType;
}

public void setAddressType(AddressType addressType) {
   this.addressType = addressType;
}
......
}
AddressTypeRel addressTypeRel=new AddressTypeRel();
addressTypeRel.setAddressId(i) //i=5 for example
addressTypeRel.setTypeId(j)    //j=4 for example
hibernatetemplate.save(addressTypeRel);

共有1个答案

姬飞昂
2023-03-14

您需要将@manytoone()更改为@manytoone(cascade=cascadetype.all),这样保存将尝试级联到AddressType,然后忽略它,因为您在@joincolumn上设置了insertable=false,updatable=false

 类似资料: