81,092
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE hibernate002_classroom(
id INT PRIMARY KEY AUTO_INCREMENT ,
classname VARCHAR(50)
);
CREATE TABLE hibernate002_student(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(50),
age INT,
room_id INT
);
INSERT INTO hibernate002_classroom VALUES(1,'留学生宿舍'),(2,'本地人宿舍');
INSERT INTO hibernate002_student VALUES(1,'zhangsan',20,1),(2,'lisi',20,1),(3,'wangmazi',20,1);
INSERT INTO hibernate002_student VALUES(4,'张三',20,2),(5,'李四',20,2),(6,'王麻子',20,2);
package com.city.test.hibernate.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@Entity
@Table(name="hibernate002_student")
public class Student {
@Id
@Column(name="ID")
private Long id;
@Column(name="NAME")
private String name;
@Column(name="AGE")
private Integer age;
/*@Column(name = "ROOM_ID")
private Long roomId;
public Long getRoomId() {
return roomId;
}
public void setRoomId(Long roomId) {
this.roomId = roomId;
}*/
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="ROOM_ID",referencedColumnName="ID")
private Room room;
}
package com.city.test.hibernate.entity;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name="hibernate002_classroom")
public class Room {
@Id
@Column(name = "ID")
private Long id;
@Column(name = "CLASSNAME")
private String name;
@OneToMany(fetch = FetchType.EAGER , mappedBy = "room")
private List<Student> students;
public List<Student> getStudents() {
return students;
}
}
DetachedCriteria criteria = DetachedCriteria.forClass(Room.class);
return getHibernateTemplate().findByCriteria(criteria);
for (Room room : list) {
logger.info(room);
logger.info(room.getStudents().size());
}