【发布时间】:2013-02-18 09:35:34
【问题描述】:
我有三个表,一个主表 MAIN_TB 与表 TCHARS 和 TSTATUSES 的外键,当我坚持 MAIN_TB 时,重新查询并显示保存的记录,连接的列(来自 TCHARS 的 tchars 和来自 TSTATUSES 的 t_status)为空但数据被保存。我能错过什么?
表 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]
任何帮助将不胜感激
【问题讨论】:
-
共享查询,你曾经用来重新查询你的持久化对象。
标签: java jpa entitymanager