hibernaate 单表 实现 一对多

xiaoliu150 2013-04-16 03:55:55
public class Menu{

@Id
private Integer id;
private Integer menu_parent_id;
private String menu_name;
private String menu_url;
private Integer menu_sequence;
@OneToMany(targetEntity=Menu.class)
@JoinColumn(name="id",referencedColumnName="menu_parent_id")
private List<Menu> menuList=new ArrayList<Menu>();

public List<Menu> findMenuList() {
String hql="FROM Menu";
List<Menu> list = (List<Menu>)getHibernateTemplate().find(hql);
最终的查出结果 Menu中的 menuList 中没有数据,执行的sql语句
和select * from tb_menu 结果是一样的!就是说并未执行一对多查询!求帮助!
...全文
227 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoliu150 2013-05-02
  • 打赏
  • 举报
回复
NO,NO,我用的是注解的方式,解决了。方法是: @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER) @JoinColumn(name="menu_parent_id") public List<Menu> getMenuList() { return menuList; }
jieke361 2013-04-22
  • 打赏
  • 举报
回复
是不是mapping映射文件中没有配置属性, 你用的是单表的话,应该就是相当于自连接 例如 <list name=""> <!-- 指定关联的外键字段 --> <key column="id属性"></key> <!-- 指定list存储元素的索引字段(决定顺序的索引)和起始值 --> <list-index column="*" base="*"></list-index> <!-- 指明加载关系和对方类型 --> <one-to-many class="包名.类名" /> </list>

25,980

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧