多对多主表从表

关联表配置:

package com.nkrx.model;

import java.io.Serializable;

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

import org.hibernate.annotations.GenericGenerator;

//------------------------------联系记录与项目关联表-----------------
@Entity
@Table(name = "NKRX_R_P_C")
public class ProjectCrecordModel implements Serializable {

    private static final long serialVersionUID = -2607561259719235605L;

    @Id
    @GenericGenerator(name = "idGenerator", strategy = "assigned")
    @GeneratedValue(generator = "idGenerator")
    @Column(name = "Project_ID")
    private String projectId;

    @Id
    @GenericGenerator(name = "idGenerator", strategy = "assigned")
    @GeneratedValue(generator = "idGenerator")
    @Column(name = "CONTACTRECORD_ID")
    private String contactrecordId;

    public String getProjectId() {
        return projectId;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    public String getContactrecordId() {
        return contactrecordId;
    }

    public void setContactrecordId(String contactrecordId) {
        this.contactrecordId = contactrecordId;
    }

}

主表:主表使用@ManyToMany(mappedBy = “projectList”, fetch = FetchType.EAGER)
private List contactrecordList = new ArrayList();
的配置,project通过get,set可以直接调用对应的contactrecordList,

package com.nkrx.model;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.hibernate.annotations.GenericGenerator;

import com.nkrx.common.BaseModel;
import com.nkrx.model.ContactRecordModel;

//------------------------------项目名称表-----------------
@Entity
@Table(name = "nkrx_project")
@JsonIgnoreProperties(value = { "contactrecordList" })
public class ProjectModel extends BaseModel {
    private static final long serialVersionUID = 5079206834751376185L;

    @Id
    @GeneratedValue(generator = "system-uuid")
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    @Column(length = 64, name = "DB_ID")
    private String dbid;

    // 客户id,项目与客户是多对一关系
    @ManyToOne
    @JoinColumn(name = "customer_id")
    private CustomerModel Customer;

    // 项目名称
    @Column
    private String projectName;

    // 是否开展计划
    @Column
    private int ifDevelop;

    @ManyToMany(mappedBy = "projectList", fetch = FetchType.EAGER)
    private List<ContactRecordModel> contactrecordList = new ArrayList<ContactRecordModel>();

    public String getDbid() {
        return dbid;
    }

    public void setDbid(String dbid) {
        this.dbid = dbid;
    }

    public CustomerModel getCustomer() {
        return Customer;
    }

    public void setCustomer(CustomerModel customer) {
        Customer = customer;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public int getIfDevelop() {
        return ifDevelop;
    }

    public void setIfDevelop(int ifDevelop) {
        this.ifDevelop = ifDevelop;
    }

    public static long getSerialversionuid() {
        return serialVersionUID;
    }

    public List<ContactRecordModel> getContactrecordList() {
        return contactrecordList;
    }

    public void setContactrecordList(List<ContactRecordModel> contactrecordList) {
        this.contactrecordList = contactrecordList;
    }

}

从表:

package com.nkrx.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.hibernate.annotations.GenericGenerator;

import com.nkrx.common.BaseModel;
import com.nkrx.model.ProjectModel;

------------------------------联系记录表-----------------
@Entity
@Table(name = "NKRX_CONTACT_RECORD")

@JsonIgnoreProperties(value = { "projectList" })
public class ContactRecordModel extends BaseModel {

    private static final long serialVersionUID = -6560238360601332337L;

    @Id
    @GeneratedValue(generator = "system-uuid")
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    @Column(length = 64, name = "DB_ID")
    private String dbid;

    // 建立联系类型字段
    @Column(length = 32)
    private int contactRecordType;

    // 建立联系日期字段
    @Column(length = 32)
    private Date contactRecorDate;

    // 建立联系人字段
    @Column(length = 32)
    private String contactRecorMen;

    @ManyToMany(targetEntity = ContactRecordModel.class)
    @JoinTable(name = "NKRX_R_P_C", joinColumns = @JoinColumn(name = "CONTACTRECORD_ID") , inverseJoinColumns = @JoinColumn(name = "Project_ID") )
    private List<ProjectModel> projectList = new ArrayList<ProjectModel>();
//重点是@JoinColumn(name = "CONTACTRECORD_ID") , inverseJoinColumns = @JoinColumn(name = "Project_ID")中,JoinColumn和inverseJoinColumns 的主从表名字不要写反。
    public String getDbid() {
        return dbid;
    }

    public void setDbid(String dbid) {
        this.dbid = dbid;
    }

    public int getContactRecordType() {
        return contactRecordType;
    }

    public void setContactRecordType(int contactRecordType) {
        this.contactRecordType = contactRecordType;
    }

    public Date getContactRecorDate() {
        return contactRecorDate;
    }

    public void setContactRecorDate(Date contactRecorDate) {
        this.contactRecorDate = contactRecorDate;
    }

    public String getContactRecorMen() {
        return contactRecorMen;
    }

    public void setContactRecorMen(String contactRecorMen) {
        this.contactRecorMen = contactRecorMen;
    }

    public List<ProjectModel> getProjectList() {
        return projectList;
    }

    public void setProjectList(List<ProjectModel> projectList) {
        this.projectList = projectList;
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值