如果将一个类定义为实体类,则该类需符合以下要求:
1,必须用注释 javax.persistence.Entity 声明该类;
2,该类必须有一个 public 或者 protected 的 无参构造函数,也可以有其他构造函数,但前者是必须的,后者是可选的;
3,该类以及该类中的方法,持久成员变量一定不能声明为 fianl;
4,如果该类的实例需要作为值进行传递(如通过会话bean的 remote接口定义的方法进行传递),则该类必须实
现 Serializable 接口;
5,实体类可能继承实体类和非实体类,但该实体类必须继承实体类;
6,实体类中的持久成员变量必须声明为 private,protected 或者 package-private,并且只能通过该实体类中的成员方法
访问持久成员变量。
可以作为实体类持久成员变量的类型如下:
1,java 的 8 种基本类型;
2,java.lang.String;
其他 serializable 类型:
3,8 种基本类型的包装类型;
4,java.math.BigInteger
5,java.math.BigDecimal
6,java.util.Date
7,java.util.Calendar
8,java.sql.Date
9,java.sql.Time
10,java.sql.TimeStamp
11,自定义的 serializable 类型
12,byte[]
13,Byte[]
14,char[]
15,Character[]
16,枚举类型
17,其他实体类或实体类的集合
18,嵌入类
实体类集合可用的集合类型如下:
1,java.util.Collection
2,java.util.Set
3,java.util.List
4,java.util.Map
可作为实体类主键的类型如下:
1,基本类型及其包装类;
2,java.lang.String;
3,java.util.Date (映射 temporal 类型必须为 DATE)
4,java.sql.Date
主键类的要求如下:
1,类的修饰符必须为 public;
2,类的属性必须为 private,protected 或者 package-private;
3,类必须有一个 public 的默认构造函数;
4,类必须重写 hashCode() 和 equals(Object other) 方法;
5,类必须 serializable;
6,组合主键必须描述和映射到实体类的多个域或属性上,或者映射到嵌入类;
7,主键类的属性的属性名和属性类型必须与映射到的实体类的对应属性相同;
实体之间的连接关系:
实体之间有四种连接关系:
one-to-one, one-to-many, many-to-one, 和 many-to-many,并且实体之间的这些关系可以是双向关系或单向关系。
关系的方向可以是双向的或单向的。双向关系有关系的拥有端和逆端,单向关系仅仅有关系的拥有端。
实体双向关系必须符合以下要求:
1,双向关系的逆端必须指定 @OneToOne, @OneToMany, 或 @ManyToMany 注释中的 mappedBy 属性,且该属性指定的
值必须与关系拥有端实体类指示的逆端成员变量名字相同;
2,many-to-one 双向关系的 many 端一定不能指定 mappedBy 属性,因为该端一定是双向关系的拥有端;
3,one-to-one 双向关系中 关系拥有端是包含外键的实体类;
4,many-to-many 双向关系中 关系拥有端和关系逆端可以任意指定。
单向关系就是只在关系一端的实体类上指定关系。
分享到:
相关推荐
EJB3.0实体的注解规范,覆盖了EJB3.0(也就是JPA)实体的注解规范以及Hibernate特有的扩展
《EJB3.0入门经典》是关于EJB 3.0的专业技术教程,从实用的角度出发,理论联系实际,用9章的篇幅详细讲解了EJB 3.0开发的方法和技巧。《EJB3.0入门经典》内容丰富,讲解由浅入深,全面系统,在讲解EJB 3.0最新开发...
ejb3.0入门图文教程,包括EJB3.0开发Entity.pdf、EJB3.0开发Message Driven Bean.pdf、EJB3.0开发Session Bean.pdf
罗时飞精通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.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过程中的参考文档
全书共分16章,内容依次包含了Java EE概述、EJB基础、搭建EJB环境、会话bean、持久化实体、持久化实体管理器、对象关系映射、JPQL查询、消息驱动bean、事务、提高EJB 3.0性能、从Web层访问EJB 3和EJB安全、EJB和Web...
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实例教程.pdf EJB 3.0实例教程.pdf
本书是关于EJB 3.0的专业技术教程,从实用的角度出发,理论联系实际,用9章的篇幅详细讲解了EJB 3.0开发的方法和技巧。 本书内容丰富,讲解由浅入深,全面系统,在讲解EJB 3.0最新开发技术的同时,精心设计了与...
EJB3.0规范和EJB3.0经典入门(含源码) 本材料适合Java程序员、项目经理和系统架构师。学习本材料,您不需要EJB2.x知识,如果具备一些Web和jdbc知识,学习效率会更快些。学习本材料,初级Java程序员应在1个月左右,...
本书是关于EJB 3.0的专业技术教程,从实用的角度出发,理论联系实际,用9章的篇幅详细讲解了EJB 3.0开发的方法和技巧。 本书内容丰富,讲解由浅入深,全面系统,在讲解EJB 3.0最新开发技术的同时,精心设计了与...
精通EJB3.0 pdf
ejb3.0开发实例,会话bean开发,完整代码,适合入门学者
EJB3.0规范 EJB3.0 SPECIFICATION 官方规范英文版
ejb2.0 ejb3.0的区别,比较详细讲解两者的区别
最新EJB3.0实例教程 最新的 EJB3.0教材 为读者阅读。
EJB3.0入门图文教程电子书,Jbuilder 2007,新版JBuilder2007基于Eclipse平台,与以往的JBuilder版本完全不 同.借助于Eclipse的开放平台以及丰富的插件,使得JBulider对当前的流行的框架支持非 常好,同时支持EJB3.0的...