3つのテーブルがあります。メインテーブルMAIN_TBとテーブルTCHARSおよびTSTATUSESへの外部キーがあります。MAIN_TBを永続化し、保存されたレコードを再クエリして表示すると、結合された列(TCHARSの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;
テーブルのステータス
@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]
どんな助けでもいただければ幸いです