不懂毛 2012-04-06 16:29
浏览 284
已采纳

hibernate 同一个类中多对一,一对多,不会用,请指教,讲解一下,最好是告诉我如何遍历

<p>hibernate 同一个类中多对一,一对多,不会用,请指教,讲解一下,最好是告诉我如何遍历userlist = userService.searchAll();这个结果集的容器的内容,用System.out.println(userlist);输出的是[com.test.bean.User@1ee5806, com.test.bean.User@708d23, com.test.bean.User@12bc86d, com.test.bean.User@1738d88, com.test.bean.User@150ece0, com.test.bean.User@1ef7b50, com.test.bean.User@18902ce] ,我要怎么遍历这个list

 

这个是我转出的SQL文件,t_user表里有7条数据,名字是汉字,随便打的

/*
Navicat MySQL Data Transfer
Source Host     : localhost:3306
Source Database : dhtmlxtree
Target Host     : localhost:3306
Target Database : dhtmlxtree
Date: 2012-04-06 16:24:29
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for t_user
-- ----------------------------
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(255) default NULL,
  `pid` int(11) default NULL,
  PRIMARY KEY  (`id`),
  KEY `FKCB63CCB6FA18D2A5` (`pid`),
  CONSTRAINT `FKCB63CCB6FA18D2A5` FOREIGN KEY (`pid`) REFERENCES `t_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of t_user
-- ----------------------------
INSERT INTO `t_user` VALUES ('1', '闃块樋', null);
INSERT INTO `t_user` VALUES ('2', '鍚栧悥', '1');
INSERT INTO `t_user` VALUES ('3', '浣愮綏', '1');
INSERT INTO `t_user` VALUES ('4', '闆ⅷ', '2');
INSERT INTO `t_user` VALUES ('5', '绾风悍', '2');
INSERT INTO `t_user` VALUES ('6', '澶╁ぉ', '4');
INSERT INTO `t_user` VALUES ('7', '鍝堝搱', null);

这个是User.class的代码:

package com.test.bean; 
import java.util.Set; 
import javax.persistence.Entity; 
import javax.persistence.GeneratedValue;
 import javax.persistence.Id; 
import javax.persistence.JoinColumn; 
import javax.persistence.ManyToOne; 
import javax.persistence.OneToMany; 
import javax.persistence.Table; 
import org.hibernate.annotations.LazyCollection; 
import org.hibernate.annotations.LazyCollectionOption; 

@Entity 
@Table(name="t_user") 
public class User { 
@Id 
@GeneratedValue 
private int id; 
private String name; 

@ManyToOne 
@JoinColumn(name="pid") 
private User parent; 
@OneToMany(mappedBy = "parent") 
@LazyCollection(LazyCollectionOption.EXTRA) 
private Set sons; 

public int getId() { return id; } 
public void setId(int id) { this.id = id; } 
public String getName() { return name; } 
public void setName(String name) { this.name = name; } 
public User getParent() { return parent; } 
public void setParent(User parent) { this.parent = parent; } 
public Set getSons() { return sons; } 
public void setSons(Set sons) { this.sons = sons; } } 

 UserAction.class代码: 

package com.test.action;

import java.util.List;

import javax.annotation.Resource;

import org.apache.struts2.ServletActionContext;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.test.bean.Student;
import com.test.bean.User;
import com.test.service.StudentService;
import com.test.service.UserService;

@Controller("userAction")
@Scope("prototype")
public class UserAction extends ActionSupport {

    private List<User> userlist;
    
    private User user= new User();
    @Resource
    private UserService userService;
    
    @Override
    public String execute() throws Exception {
    
        userlist = userService.searchAll();

        ActionContext.getContext().put("userlist", userlist);
        System.out.println(userlist);
        return SUCCESS;
    }
    
}
  • 写回答

1条回答 默认 最新

  • huhui 2012-04-07 13:19
    关注

    用ForEach来遍历不就好了
    for(User u:userlist){
    System.out.println(u.getName());
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 运筹学中在线排序的时间在线排序的在线LPT算法
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧