OneToMany 查询

一、数据库

-------------------------------------------------------------------------------------

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();
    }
    
}

转载于:https://my.oschina.net/jargon/blog/516825

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值