标签:blog io os ar java for sp div on
package com.entity.onetomany;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import com.entity.BaseEntity;
@Entity
public class Team extends BaseEntity{
private String name;
@OneToMany(mappedBy="team")
//被Member类的team对象维护即Member.team
private List<Member> members;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Member> getMembers() {
return members;
}
public void setMembers(List<Member> members) {
this.members = members;
}
}
team.java
package com.entity.onetomany;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.NamedQuery;
import com.entity.BaseEntity;
@Entity
@NamedQuery(name = "aa", query = "select m from Member m where team_id=:tid")
public class Member extends BaseEntity {
private String name;
private int no;
@ManyToOne(cascade=CascadeType.PERSIST)
//级联保存 保存member的时候自动保存team
@JoinColumn(name="team_id")
//外键team_id
//member为多的一方 所以由member来维护
private Team team;
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public Team getTeam() {
return team;
}
public void setTeam(Team team) {
this.team = team;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
member.java
package com;
import java.util.List;
import java.util.Map;
import javax.persistence.Entity;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.annotations.NamedQuery;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.hibernate.transform.Transformers;
import org.jboss.logging.annotations.Transform.TransformType;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.entity.onetomany.Member;
import com.entity.onetomany.Team;
public class TestOneToMany {
private Session s;
private Transaction tran;
@Before
public void before(){
s=HibernateUtils.getSession();
tran=s.beginTransaction();
}
public void one2many(){
Team team=new Team();
Team team1=new Team();
team.setName("lakers");
team1.setName("thunder");
Member member1=new Member();
member1.setName("kobe");
member1.setTeam(team);//建立关系
Member member2=new Member();
member2.setName("nash");
member2.setTeam(team);//建立关系
Member member3=new Member();
member3.setName("boozer");
member3.setTeam(team);//建立关系
Member member4=new Member();
member4.setName("westbrook");
member4.setTeam(team1);//建立关系
Member member5=new Member();
member5.setName("durant");
member5.setTeam(team1);//建立关系
Member member6=new Member();
member6.setName("ibaka");
member6.setTeam(team1);//建立关系
s.persist(member1);
s.persist(member2);
s.persist(member3);
s.persist(member4);
s.persist(member5);
s.persist(member6);
}
public void one2manyquery(){
Team team= (Team)s.get(Team.class, 1);
//获得team对象
for(Member m:team.getMembers()){
System.out.println(m.getName());
}
}
@After
public void after(){
tran.commit();
HibernateUtils.closeSession(s);
}
}
testonetomany.java
标签:blog io os ar java for sp div on
原文地址:http://www.cnblogs.com/tianhao/p/4022872.html