`
落花虽有意
  • 浏览: 185626 次
  • 性别: 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

    Java Persistence Query Language(JPQL)是EJB 3.0中的一种面向对象的查询语言,类似于SQL,但操作的是对象而不是数据库记录。通过JPQL,开发者可以方便地进行复杂的数据查询,如`SELECT e FROM Employee e WHERE ...

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

    在这个"ejb3.0开发实例(java工程)"中,我们将深入探讨EJB 3.0的主要特性和开发实践。 1. **注解驱动**:EJB 3.0最大的变革之一就是大量使用注解(Annotation),减少了XML配置文件的使用。例如,@Stateless、@...

    EJB3.0入门经典(PDF)

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

    精通EJB3.0 pdf

    《精通EJB3.0》是一本深入探讨企业级JavaBeans(EJB)3.0技术的专业书籍,由Rima Patel、Sriganesh、Gerald Brose和Micah Silverman共同编写,由Wiley Publishing出版。该书为读者提供了全面且深入的EJB3.0知识体系...

    ejb3.0入门图文教程

    首先,我们来看《EJB3.0开发Entity.pdf》。在EJB 3.0中,Entity Bean代表持久化对象,它存储在数据库中并与数据库进行交互。这个部分将介绍如何定义实体bean,包括使用JPA(Java Persistence API)来注解实体类,...

    李腾飞EJB3.0 源码 源代码

    "李腾飞EJB3.0 源码 源代码"可能包含的是李腾飞教授或团队关于EJB 3.0技术的实践示例或教学资源。通过分析这些源码,开发者可以深入理解EJB 3.0的实现细节,例如如何使用注解定义Bean、如何处理持久化、如何进行依赖...

    Java之精通EJB3.0.pdf

    ### Java之精通EJB3.0 #### 一、EJB3.0简介与改进 企业Java Beans(Enterprise JavaBeans,简称EJB)是Java平台为企业级应用开发提供的一种组件模型。EJB3.0是EJB规范的一个重大版本更新,它在EJB2.0的基础上进行...

    EJB 3.0实例教程.pdf

    **企业级JavaBeans(EJB)3.0详解** 企业级JavaBeans(Enterprise JavaBeans,简称EJB)是Java平台上用于构建分布式企业级应用的重要组件模型。EJB 3.0是EJB规范的一个重大革新,它极大地简化了EJB的开发过程,引入...

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

    在"**EJB3.0+JBOSS+MyEclipse初体验(完整代码和过程).txt**"文件中,你将找到一个完整的示例,涵盖了上述所有步骤,包括具体的代码片段和执行过程,这对于初学者来说是一个很好的起点,可以快速理解并实践EJB 3.0在...

    EJB3.0API.rar_ejb_ejb3.0a_ejb3.0api

    压缩包中的文件如“ejb-3_0-fr-spec-persistence.pdf”、“ejb-3_0-fr-spec-simplified.pdf”和“ejb-3_0-fr-spec-ejbcore.pdf”可能是EJB 3.0官方规范的文档,分别详细阐述了持久化、简化的规范和核心EJB 3.0的内容...

    《EJB 3.0入门经典》 源码

    在"ejb3.0入门经典教程-source"这个压缩包中,包含了书中各个章节的示例代码,覆盖了EJB 3.0的各个方面,例如实体Bean的创建、会话Bean的使用、事务管理、安全性设置以及JPA的持久化操作等。这些源码对于初学者来说...

    EJB3.0架包

    EJB3.0是EJB规范的一个重要版本,它在EJB2.x的基础上进行了大量简化,提高了开发效率,并引入了注解驱动的开发方式,使得EJB更易于理解和使用。 在EJB3.0中,主要包含以下关键知识点: 1. **实体Bean(Entity ...

    ejb2.0与ejb3.0的区别

    ### EJB2.0与EJB3.0的主要区别 #### 一、简介 企业Java Beans(EJB)是Java平台为企业级应用提供的一种组件模型。随着技术的发展,EJB经历了多个版本的迭代,其中EJB 2.0和EJB 3.0是两个重要的里程碑版本。本文将...

    EJB3.0实例教程(PDF)

    **EJB3.0实例教程**是一份详细指导开发者如何使用Enterprise JavaBeans 3.0(EJB3.0)技术进行企业级应用开发的电子文档。EJB3.0是Java EE(Java Platform, Enterprise Edition)规范的一部分,旨在简化企业级组件的...

    精通EJB3.0 中文版 3/3

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

    EJB3.0规范中文版

    7. **查询语言(Query Language)**:Java Persistence Query Language (JPQL) 是EJB 3.0中用于检索和操作数据库的语句,类似于SQL,但操作的是对象而非记录。 8. **生命周期方法(Lifecycle Callbacks)**:开发者可以...

    精通EJB3.0 中文版 1/3

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

    EJB 3.0规范官方文档

    EJB(Enterprise JavaBeans)3.0规范是Java EE(Enterprise Edition)平台中核心的组件模型,用于构建可扩展、安全且易于管理的企业级应用程序。EJB 3.0是EJB规范的一个重要里程碑,因为它引入了许多重大的改进,...

    EJB3.0规范-EJB3.0 SPECIFICATION

    5. **实体Bean(Entity Beans)**:EJB3.0中的实体Bean主要基于JPA,使用`@Entity`注解标识,允许开发者直接操作数据库记录。实体Bean可以通过`@GeneratedValue`注解来自动分配主键。 6. **容器管理的事务...

    电子书-EJB3.0实例教程

    **电子书-EJB3.0实例教程** EJB(Enterprise JavaBeans)是Java平台企业版(Java EE)的一部分,主要用于构建可复用的、模块化的、面向服务的企业级应用程序。EJB 3.0是其重要的一个版本,它在EJB 2.x的基础上进行...

Global site tag (gtag.js) - Google Analytics