[color=brown][b]一.EJB 持久化框架[/b][/color]
1.配置JBOSS数据源
从目录JBOSS_HOME\docs\esamples\jca 下找到相应的数据库数据源配置的模板文件。
拷贝模板文件到JBOSS_HOME\server\default\deploy目录下。
修改其中的用户名、密码、数据库主机、数据库名称等属性。
拷贝数据库驱动到JBOSS_HOME\server\default\lib下。
2.在META-INF目录下创建persistence.xml文件
3 开发实体类
必须用@Entity注解标识
实体类必须具有默认无参构造方法,若提供远程访问,则必须实现 Serializable接口
实体类必须定义@Id
映射fileld还是property,由@Id的位置决定
[color=brown][b]二.EntityBean 基本映射规则[/b][/color]
1.所有未标明为@Transient的属性均会默认映射
2.只用@Id来定义一个主键时,它的故则是:不自动生成,即有程序来手工分配
我们可以使用@GeneratedValue 来指定ID的生成策略
仅使用@GereratedValue-ID的生成策略是自动的,也就是相当于Hibernate中的native生成策略;如果ID是字符串,则可以使用UUID生成策略(使用Hibernate扩展特性)
3.使用@Table和@Column注解,可将属性映射到特定的表和字段默认的表名和字段名跟属性名一致
[color=brown][b]三. EntityBean映射类型[/b][/color]
1.多对一关联映射
2.一对一关联映射
3.一对多关联映射
4.多对多关联映射
5.继承映射(共有三种策略)
单表继承策略
Join 映射策略
TABLE_PRE_CLASS映射策略
注意:[color=red]mappedby [/color]表示对方指向我自身的属性名称
一对多双向关联:只能在1的一端定义mappedby
多对关联映射:在任何一方定义mappedby都行
[color=brown][b]四.实体类生命周期[/b][/color]
New(新建状态)——即未有ID值,尚未跟persistenced Context 建立关联的对象
Managed(托管状态)——有ID值,已跟persistenceContext建立了关联
Detached(游离状态)——有ID值,但没有(或不再)跟persistenceContext建立关联
Removed(删除状态)——有ID值,而且跟persistenceContext尚有关联,但已准备好要从数据库中把它删除。
1.配置JBOSS数据源
从目录JBOSS_HOME\docs\esamples\jca 下找到相应的数据库数据源配置的模板文件。
拷贝模板文件到JBOSS_HOME\server\default\deploy目录下。
修改其中的用户名、密码、数据库主机、数据库名称等属性。
拷贝数据库驱动到JBOSS_HOME\server\default\lib下。
2.在META-INF目录下创建persistence.xml文件
3 开发实体类
必须用@Entity注解标识
实体类必须具有默认无参构造方法,若提供远程访问,则必须实现 Serializable接口
实体类必须定义@Id
映射fileld还是property,由@Id的位置决定
[color=brown][b]二.EntityBean 基本映射规则[/b][/color]
1.所有未标明为@Transient的属性均会默认映射
2.只用@Id来定义一个主键时,它的故则是:不自动生成,即有程序来手工分配
我们可以使用@GeneratedValue 来指定ID的生成策略
仅使用@GereratedValue-ID的生成策略是自动的,也就是相当于Hibernate中的native生成策略;如果ID是字符串,则可以使用UUID生成策略(使用Hibernate扩展特性)
3.使用@Table和@Column注解,可将属性映射到特定的表和字段默认的表名和字段名跟属性名一致
[color=brown][b]三. EntityBean映射类型[/b][/color]
1.多对一关联映射
2.一对一关联映射
3.一对多关联映射
4.多对多关联映射
5.继承映射(共有三种策略)
单表继承策略
Join 映射策略
TABLE_PRE_CLASS映射策略
注意:[color=red]mappedby [/color]表示对方指向我自身的属性名称
一对多双向关联:只能在1的一端定义mappedby
多对关联映射:在任何一方定义mappedby都行
[color=brown][b]四.实体类生命周期[/b][/color]
New(新建状态)——即未有ID值,尚未跟persistenced Context 建立关联的对象
Managed(托管状态)——有ID值,已跟persistenceContext建立了关联
Detached(游离状态)——有ID值,但没有(或不再)跟persistenceContext建立关联
Removed(删除状态)——有ID值,而且跟persistenceContext尚有关联,但已准备好要从数据库中把它删除。