`
落花虽有意
  • 浏览: 183105 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

EJB3.0里的@SecondaryTable记录

阅读更多

EJB3.0里的@SecondaryTable 可以将一个 entity bean 对应数据库里的多张表,

下面的代码是仿照javaee doc 上写的,测试通过。

 

数据表图:

 

 

 

 

 

 

 

 

 

 

 

 

@SuppressWarnings("serial")
@Entity
@Table(name="part")
@SecondaryTable(
		name="partdetail",
		pkJoinColumns={
			@PrimaryKeyJoinColumn(name="partnumber",referencedColumnName="partnumber"),
			@PrimaryKeyJoinColumn(name="revision",referencedColumnName="revision")
		}
)
@IdClass(PartKey.class)
public class Part implements Serializable {
	private String partNumber;
	private Integer revision;
	private String partDescription;
	private Date revisionDate;
	
	private Part bomPart;
	private List<Part> parts;
	
	private Serializable drawing;
	private String specification;
			
	@Column(table="partdetail")
	@Lob
	public Serializable getDrawing() {
		return drawing;
	}
	public void setDrawing(Serializable drawing) {
		this.drawing = drawing;
	}
	
	@Column(table="partdetail")
	@Lob
	public String getSpecification() {
		return specification;
	}
	public void setSpecification(String specification) {
		this.specification = specification;
	}
	
	@Id
	@Column(name="partnumber",nullable=false)
	public String getPartNumber() {
		return partNumber;
	}
	public void setPartNumber(String partNumber) {
		this.partNumber = partNumber;
	}
	
	@Id
	@Column(name="revision",nullable=false)
	public Integer getRevision() {
		return revision;
	}
	public void setRevision(Integer revision) {
		this.revision = revision;
	}
	
	@Column(name="partdescription")
	public String getPartDescription() {
		return partDescription;
	}
	public void setPartDescription(String partDescription) {
		this.partDescription = partDescription;
	}
	
	@Temporal(TemporalType.DATE)
	public Date getRevisionDate() {
		return revisionDate;
	}
	public void setRevisionDate(Date revisionDate) {
		this.revisionDate = revisionDate;
	}
	
	@ManyToOne
	@JoinColumns({
		@JoinColumn(name="bompartnumber",referencedColumnName="partnumber"),
		@JoinColumn(name="bomrevision",referencedColumnName="revision")
	})
	public Part getBomPart() {
		return bomPart;
	}
	public void setBomPart(Part bomPart) {
		this.bomPart = bomPart;
	}
	
	@OneToMany(mappedBy="bomPart",cascade=CascadeType.ALL)
	public List<Part> getParts() {
		return parts;
	}
	public void setParts(List<Part> parts) {
		this.parts = parts;
	}
	
	
}

 

其中:

 

@SecondaryTable(
		name="partdetail",//表示从表名
		pkJoinColumns={// 从表到主表的主键映射
			@PrimaryKeyJoinColumn(name="partnumber",referencedColumnName="partnumber"),
			@PrimaryKeyJoinColumn(name="revision",referencedColumnName="revision")
			// 其中:name为从表字段,referencedColumnName为主表字段
		}
)
 

还有映射字段时注意加上表名:

 

	@Column(table="partdetail")
	@Lob
	public Serializable getDrawing() {
		return drawing;
	}
	
	@Column(table="partdetail")
	@Lob
	public String getSpecification() {
		return specification;
	}
 
分享到:
评论

相关推荐

    EJB3.0入门经典(PDF)

    《EJB3.0入门经典》是关于EJB 3.0的专业技术教程,从实用的角度出发,理论联系实际,用9章的篇幅详细讲解了EJB 3.0开发的方法和技巧。《EJB3.0入门经典》内容丰富,讲解由浅入深,全面系统,在讲解EJB 3.0最新开发...

    ejb3.0入门图文教程

    ejb3.0入门图文教程,包括EJB3.0开发Entity.pdf、EJB3.0开发Message Driven Bean.pdf、EJB3.0开发Session Bean.pdf

    精通EJB3.0 中文版 3/3

    罗时飞精通EJB3.0.zip.001 罗时飞精通EJB3.0.zip.002 罗时飞精通EJB3.0.zip.003 《精通EJB3.0》共分为4个部分:第一部分对EJB编程基础进行介绍,概要性地对EJB进行了阐述;第二部分重点关注EJB编程的具体内容和...

    精通EJB3.0 中文版 1/3

    罗时飞精通EJB3.0.zip.001 罗时飞精通EJB3.0.zip.002 罗时飞精通EJB3.0.zip.003 《精通EJB3.0》共分为4个部分:第一部分对EJB编程基础进行介绍,概要性地对EJB进行了阐述;第二部分重点关注EJB编程的具体内容和...

    EJB3.0中文文档

    EJB3.0中文文档,实例教程.EJB3.0中文文档,实例教程.EJB3.0中文文档,实例教程.EJB3.0中文文档,实例教程.

    ejb3.0实例教程

    期待已久的 EJB3.0 最终规范已经发布了。虽然 EJB3.0 最终规范出来了一段时间,但对 EJB3.0 的应用还停留在介 绍之中,应用实例更是少之又少,所以作者拟写本书,以简单的实例展现 EJB3.0 的开发过程,希望对大家有所...

    ejb3.0开发规范PDF

    ejb3.0开发规范,开发ejb3.0过程中的参考文档

    ejb 3.0 jar 包 很全 part1

    ejb 3.0 jar 包 很全ejb 3.0 jar 包 很全ejb 3.0 jar 包 很全ejb 3.0 jar 包 很全ejb 3.0 jar 包 很全ejb 3.0 jar 包 很全ejb 3.0 jar 包 很全

    EJB 3.0从入门到精通

    本书面向EJB 3.0的实际应用开发,通过大量的实例,循序渐进地为读者介绍了有关EJB 3.0开发所涉及的各类知识。全书共分16章,内容依次包含了Java EE概述、EJB基础、搭建EJB环境、会话bean、持久化实体、持久化实体...

    EJB 3.0实例教程.pdf

    EJB 3.0实例教程.pdf EJB 3.0实例教程.pdf

    EJB3.0入门经典源代码.part1

    本书是关于EJB 3.0的专业技术教程,从实用的角度出发,理论联系实际,用9章的篇幅详细讲解了EJB 3.0开发的方法和技巧。  本书内容丰富,讲解由浅入深,全面系统,在讲解EJB 3.0最新开发技术的同时,精心设计了与...

    EJB 3.0入门经典 源码

    本书是关于EJB 3.0的专业技术教程,从实用的角度出发,理论联系实际,用9章的篇幅详细讲解了EJB 3.0开发的方法和技巧。  本书内容丰富,讲解由浅入深,全面系统,在讲解EJB 3.0最新开发技术的同时,精心设计了与...

    EJB3.0规范和EJB3.0经典入门(含源码)

    EJB3.0规范和EJB3.0经典入门(含源码) 本材料适合Java程序员、项目经理和系统架构师。学习本材料,您不需要EJB2.x知识,如果具备一些Web和jdbc知识,学习效率会更快些。学习本材料,初级Java程序员应在1个月左右,...

    ejb3.0开发实例(java工程)

    ejb3.0开发实例,会话bean开发,完整代码,适合入门学者

    EJB3.0入门图文教程

    EJB3.0入门图文教程电子书,Jbuilder 2007,新版JBuilder2007基于Eclipse平台,与以往的JBuilder版本完全不 同.借助于Eclipse的开放平台以及丰富的插件,使得JBulider对当前的流行的框架支持非 常好,同时支持EJB3.0的...

    EJB3.0规范-EJB3.0 SPECIFICATION

    EJB3.0规范 EJB3.0 SPECIFICATION 官方规范英文版

    ejb2.0与ejb3.0的区别

    ejb2.0 ejb3.0的区别,比较详细讲解两者的区别

    精通EJB3.0 pdf

    精通EJB3.0 pdf

    EJB3.0.rar_EJB3.0_ejb_ejb 3.0

    EJB 3.0 开发指南之定时服务非常经典

    EJB3.0+JBOSS+MyEclipse初体验(完整代码和过程)

    在Myeclipse,基于JBOSS EJB3.0实现了EJB3.0的初次体验,确实比EJB2.0方便了许多。文中有完整的过程和代码。

Global site tag (gtag.js) - Google Analytics