这是我的对象 Utente :
@Entity
@Table(name = "utente")
public class Utente implements Serializable{
...
@Id
@GeneratedValue
@Column(name = "id")
private int id;
@OneToOne(mappedBy = "utente")
@Valid
@Cascade(CascadeType.ALL)
private Autenticazione autenticazione;
...
}
这是我的对象 Autenticazione :
@Entity
@Table(name = "autenticazione")
public class Autenticazione implements Serializable{
...
@Id
@GeneratedValue
@Column(name = "id")
private int id;
@OneToOne(targetEntity=Utente.class)
@JoinColumn(name="utente", referencedColumnName="id")
private Utente utente;
...
}
我的目标是在Db上保存一个 Utente 对象,并使用@Cascade(CascadeType.ALL)
保存相对对象 Autenticazione 。
但我收到错误Column 'utente' cannot be null
,因为 Autenticazione.utente 为空,因为我在那一刻保存了对象Utente。
我该怎么办?
我应首先保存对象 Utente ,然后保存对象 Autenticazione ?
在这种情况下,@Cascade(CascadeType.ALL)
无用。
谢谢
答案 0 :(得分:0)
Here您可以找到有关级联的一些信息,您是否以两种方式关联对象?,例如:
Stock stock = new Stock();
StockDailyRecord stockDailyRecords = new StockDailyRecord();
//set the stock and stockDailyRecords data
stockDailyRecords.setStock(stock);
stock.getStockDailyRecords().add(stockDailyRecords);
session.save(stock);