一、数据库
-------------------------------------------------------------------------------------
user_inf
user_code varchar 10 0 0 0 0 0 0 0 utf8 utf8_general_ci -1 0
name varchar 30 0 -1 0 0 0 0 0 utf8 utf8_general_ci 0 0
age int 10 0 -1 0 0 0 0 0 0 0
-----------------------------------------------------------------------
recorditem
id int 11 0 0 0 0 0 0 0 0 -1 0
record int 11 0 -1 0 0 0 0 0 0 0
user_code varchar 10 0 -1 0 0 0 0 0 utf8 utf8_general_ci 0 0
user_inf 和 recorditem 之间通过外键 user_code关联
二、映射
user.java-----是One的一端
package Study.model;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name="user_inf")
public class user {
@Id
private String user_code;
private String name;
private int age;
@OneToMany
@JoinColumn(name="user_code")
private Set<record> records = new HashSet<record>();
public String getUser_code() {
return user_code;
}
public void setUser_code(String user_code) {
this.user_code = user_code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Set<record> getRecords() {
return records;
}
public void setRecords(Set<record> records) {
this.records = records;
}
}
record.java ----是Many的一端
package Study.model;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="recorditem")
public class record {
@Id
private int id;
private int record;
private String user_code;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getRecord() {
return record;
}
public void setRecord(int record) {
this.record = record;
}
public String getUser_code() {
return user_code;
}
public void setUser_code(String user_code) {
this.user_code = user_code;
}
}
调用测试 UserTest01.java
package Study.Action;
import java.util.Set;
import org.hibernate.Session;
import org.hibernate.Transaction;
import Jargon.GetHibernateSession.JargonHibernate4Util;
import Study.model.record;
import Study.model.user;
public class UserTest01 {
public static void main(String[] args){
Session session = JargonHibernate4Util.currentSession();
Transaction tx = session.beginTransaction();
user u = (user)session.get(user.class,"64765666");
System.out.println(u.getName());
System.out.println(u.getRecords().toString());
//u.getRecords() 需要转换类型为 record 类,即 Many的一端
for(record obj : u.getRecords()){
System.out.println(obj.getRecord());
}
JargonHibernate4Util.closeSession();
}
}