Hibernate Annotation 一对多单向关联

group里面存在一个set< User >,这是要做一个一对多的单向关联
Group类

import java.util.HashSet;  
import java.util.Set;  

import javax.persistence.Entity;  
import javax.persistence.GeneratedValue;  
import javax.persistence.Id;  
import javax.persistence.JoinColumn;  
import javax.persistence.OneToMany;  
import javax.persistence.Table;  

@Entity  
@Table(name="t_group")  
public class Group {  

    private int id;  
    private String name;  
    private Set<User> set = new HashSet<User>();  

    @OneToMany  
    @JoinColumn(name="groupId")  
    public Set<User> getSet() {  
        return set;  
    }  
    public void setSet(Set<User> set) {  
        this.set = set;  
    }  
    @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类

import javax.persistence.Entity;  
import javax.persistence.GeneratedValue;  
import javax.persistence.Id;  
import javax.persistence.ManyToOne;  
import javax.persistence.Table;  

@Entity  
@Table(name="t_user")  
public class User {  

    private int id;  
    private String name;  
    @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;  
    }  

}  

@OneToMany
使用这个注解,hibernate会默认按照多对多进行处理,这时候,会生成一张中间表,这时候我们需要使用另一个注解

@JoinColumn(name=”groupId”)
添加这个注解,就可以在User那一张表里生成一个外键groupid

猜你喜欢

转载自blog.csdn.net/weixin_38690150/article/details/80214272
今日推荐