Ale*_*exR 7 java spring hibernate jpa
我有以下数据结构.
@Entity
public class Device extends AbstractEntity implements Serializable{
private int id;
//...
private List<Item> items;
@OneToMany(fetch=FetchType.EAGER)
public List<Item> getItems() {
return configurationItems;
}
}
Run Code Online (Sandbox Code Playgroud)
每个项目都包含对设备的反向引用:
class Item {
private Device;
@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH} )
public Device getDevice() {
return device;
}
}
Run Code Online (Sandbox Code Playgroud)
我可以创建设备,添加项目并保存所有这些.我可以从数据库中检索对象,除了对项目所持有的设备的引用外,一切正常.
如何读取项目并不重要:1.读取所有相关项目的设备2.读取项目
Device引用始终为null.我想我的注释@ManyToOne出了点问题.
我正在使用hibernate和spring,通过继承HibernateDaoSupport实现DAO.
以下是检索所有项目的代码示例:
getHibernateTemplate().loadAll(Item.class)
Run Code Online (Sandbox Code Playgroud)
axt*_*avt 10
由于您具有双向一对多关系,因此您需要使用mappedBy:
@OneToMany(fetch=FetchType.EAGER, mappedBy = "device")
public List<Item> getItems() {
return configurationItems;
}
Run Code Online (Sandbox Code Playgroud)
也可以看看:
| 归档时间: |
|
| 查看次数: |
8790 次 |
| 最近记录: |