JPA实体类表关系示例

package com.nmt.nscvs.domain.registration;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import com.nmt.nscvs.domain.ref.SiRefRole;

/**
 * The persistent class for the SI_REGISTRATION database table.
 * 
 */
@Entity()
@Table(name="SI_REGISTRATION")
public class SiRegistration implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="regId")
	@SequenceGenerator(name="regId", sequenceName="SI_SEQ_REGISTRATION", allocationSize = 1)
	@Column(name="REGISTRATION_ID", unique=true, nullable=false, precision=10)
	private Long registrationId;
	
    @Column(name="MESSAGE_DELIVERY_EMAIL_ADDRESS", length=255)
    private String messageDeliveryEmailAddress;
    
	//bi-directional many-to-many association to SiRefRole
	@ManyToMany(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
	@JoinTable(
	    name="SI_REGISTRATION_ROLE"
	    , joinColumns={//连接列
	        @JoinColumn(name="REGISTRATION_ID", referencedColumnName="REGISTRATION_ID", nullable=true)	        
	    }
	    , inverseJoinColumns={ //反向连接列
	        @JoinColumn(name="ROLE_CODE", referencedColumnName="ROLE_CODE", nullable=true)
	    }
	    )
	private List<SiRefRole> siRefRoles;
  
    @OneToMany(mappedBy="siRegistration", fetch=FetchType.LAZY, cascade=CascadeType.ALL)
	private List<SiRegistrationCertificate> siRegistrationCertificates;
	
    
 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值