我有三個表,主表MAIN_TB與表TCHARS和TSTATUSES的外鍵,當我堅持MAIN_TB,重新查詢並顯示保存的記錄,連接的列(從TCHARS和來自TSTATUSES的t_status)爲空,但數據被保存。我可能會錯過什麼?實體管理器返回null爲加入列
表MAIN_TB
@JoinColumn(name = "T_STATUS", referencedColumnName = "T_STATUS")
@ManyToOne
private Tstatuses tStatus;
@JoinColumn(name = "T_CHAR", referencedColumnName = "T_CHAR")
@ManyToOne
private Tchars tChar;
表TCHARS
@OneToMany(mappedBy = "tChar")
private Collection<MainTb> mainTbCollection;
表TSTATUSES
@OneToMany(mappedBy = "tStatus")
private Collection<MainTb> mainTbCollection;
代碼
public void saveMainTb(){
MainTb mainTb = new MainTb();
Tchars tchars = new Tchars();
Tstatuses tstatuses = new Tstatuses();
tchars.setTChar(new Short("1"));
mainTb.setTChar(tchars);
tstatuses.setTStatus(new Short("1"));
mainTb.setTStatus(tstatuses);
mainTb.setTName("test");
em.persist(mainTb);
}
結果
![Result][1]
任何幫助,將理解
分享查詢,您用來重新查詢您的持久對象。 – SudoRahul 2013-02-18 09:39:13