hibernate多对多注解开发实例

来源:互联网 发布:石家庄软件学院 编辑:程序博客网 时间:2024/06/05 19:58

1.案例(用户和商品)

2.用户类

package com.sq.entity;import javax.persistence.*;import javax.xml.bind.annotation.XmlRootElement;import java.beans.FeatureDescriptor;import java.io.Serializable;import java.util.HashSet;import java.util.Set;/** * Created by Administrator on 2017/6/30 0030. */@XmlRootElement@Entity@Table(name = "tt_user")public class User implements Serializable{    @Id    @GeneratedValue    @Column    private Integer u_id;//用户编号    @Column    private String username;//用户名    @Column    private String password;//用户密码    //一个用户有多个地址    //注意此处的mappedBy值是对应多的一方里面表示一的一方的变量名    @OneToMany(targetEntity = Address.class,fetch = FetchType.LAZY,cascade = CascadeType.ALL,mappedBy = "owner")    Set<Address> userAddresses = new HashSet<Address>();    @ManyToMany(cascade = CascadeType.ALL)    @JoinTable(            name="user_goods",//第三张表名            joinColumns=@JoinColumn(name="user_id"),//当前类在两张表关系表中的字段名            inverseJoinColumns=@JoinColumn(name="good_id")//另一个类在第三张表中的字段    )    Set<Goods> goods ;    public Set<Address> getUserAddresses() {        return userAddresses;    }    public void setUserAddresses(Set<Address> userAddresses) {        this.userAddresses = userAddresses;    }    public Integer getU_id() {        return u_id;    }    public void setU_id(Integer u_id) {        this.u_id = u_id;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    @Override    public String toString() {        return "User{" +                "u_id=" + u_id +                ", username='" + username + '\'' +                ", password='" + password + '\'' +                '}';    }}

3.商品类

package com.sq.entity;import javax.persistence.*;import javax.xml.bind.annotation.XmlAccessorOrder;import javax.xml.bind.annotation.XmlRootElement;import java.io.Serializable;import java.util.HashSet;import java.util.Set;/** * Created by Administrator on 2017/6/30 0030. */@XmlRootElement@Entity@Table(name = "tt_goods")public class Goods implements Serializable{    @Id    @GeneratedValue    @Column    private Integer g_id;    @Column    private String g_name;    @Column    private Float g_price;    @ManyToMany(mappedBy = "goods" ,cascade = CascadeType.ALL)    Set<User> users ;    public Integer getG_id() {        return g_id;    }    public void setG_id(Integer g_id) {        this.g_id = g_id;    }    public String getG_name() {        return g_name;    }    public void setG_name(String g_name) {        this.g_name = g_name;    }    public Float getG_price() {        return g_price;    }    public void setG_price(Float g_price) {        this.g_price = g_price;    }}


原创粉丝点击