一、List:(@OrderBy)
Group.java:
package com.bean; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.MappedSuperclass; import javax.persistence.OneToMany; import javax.persistence.OrderBy; import javax.persistence.Table; @Entity @Table(name="t_group") public class Group { private int id; private String name; private List<User> list = new ArrayList<User>(); @OneToMany(mappedBy="group", cascade={CascadeType.ALL}, fetch=FetchType.EAGER ) @OrderBy(value="id desc") //降序排序 public List<User> getList() { return list; } public void setList(List<User> list) { this.list = list; } @Id @GeneratedValue 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; } } User.java: package com.bean; import javax.persistence.CascadeType; 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.Cascade; @Entity @Table(name="t_user") public class User { private int id; private String name; private Group group; @ManyToOne(cascade={CascadeType.ALL}) public Group getGroup() { return group; } public void setGroup(Group group) { this.group = group; } @Id @GeneratedValue 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; } } cfg.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/user</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <property name="hbm2ddl.auto">update</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="current_session_context_class">thread</property> <mapping class="com.bean.Group"/> <mapping class="com.bean.User"/> <!-- <mapping resource="com/bean/User.hbm.xml"/> <mapping resource="com/bean/Group.hbm.xml"/>--> </session-factory> </hibernate-configuration> 测试: Group group = (Group)session.load(Group.class, 7); List<User> list = group.getList(); for (User user : list) { System.out.println(user.getName()); }--------------------------------------------------------------------------------------------
map集合(@MapKey):
修改Group.java
private Map<Integer, User> map = new HashMap<Integer, User>(); @OneToMany(mappedBy="group", cascade={CascadeType.ALL}, fetch=FetchType.EAGER ) @MapKey(name="id") public Map<Integer, User> getMap() { return map; } public void setMap(Map<Integer, User> map) { this.map = map; }测试: Group group = (Group)session.load(Group.class, 7); Map<Integer, User> map = group.getMap(); for (Map.Entry<Integer, User> entry : map.entrySet()) { System.out.println(entry.getValue().getName()); }