`
java_xiaowu
  • 浏览: 5134 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

EJB JPA映射持久化对象

    博客分类:
  • EJB
阅读更多

JavaBean风格
·属性为私有,有get和set方法


映射实体:@Entity
无参的构造方法:标注@Entity的实体类至少要有一个无参的构造方法
实现Serializable接口,建议每个Entity都实现该接口


可继承性:
·实体可继承,非实体类可以继承自实体类,实体类也可以继承自非实体类
·抽象类(abstract)也可以标注为实体类
映射主键@Id
映射表和字段:@Table、@Column

java数据类型与数据库中的类型转换时JPA实现框架自动转换的,所以不同的JPA实现框架转换的规则也不太一样

 

映射优化一:基本数据类型 VS 封装类
·例:比如字段id,它的值不能为null,所以映射成int型和Interger型都可以
·例:比如字段age,值可能是null,映射成int时,会发生异常
注:建议都使用包装类,虽然会牺牲一些转化的效率,但可以避免持久化数据时的一些异常。

 

映射优化二:@Basic设置加载方式
·可以设置一个枚举类型,例:public enum FetchType(LAZY,EAGER);有时创建实体时如果也加载的话,可能会造成资源严重占用,这时候就需要设置实体属性的加载方式为惰性加载(LAZY).
·optional表示属性是否可为null,不能用于java基本数据类型byte,int,short,long,Boolean,char,float,double


主键映射:
主键标识:@Id
   @GeneratedValue用于主键的生成策略
自增主键:@GeneratedValue(strategy = GenerationType.AUTO)
   @GeneratedValue(strategy = GenerationType.SEQUENCE  -Oracle
   @GeneratedValue(strategy = GenerationType.IDENTITY  -SQL server
表生成器:@TableGenerator
复合主键:@IdClass
嵌入式主键:@Embeddedld
JPA可定义的生成主键策略比较:
·SEQUENCE,IDENTITY主要针对一些特殊的数据库,未确定系统要支持的数据库类型时,最好不要使用。
·AUTO用于比较简单的主键,对主键生成策略要求少
·TABLE生成策略是将主键的值持久化在数据库的表中,因为只要是关系型数据库,都可以创建一个表,专门来保存生成的值,这样就消除了数据库之间的不兼容性,既能保证支持多种数据库,又有一定的灵活性,建议使用。
·如果以上方法不能满足需求时,可以通过一定的规则来设置主键的值,可以使用UUID,使其在程序中自动生成,然后映射到实体的主键上,不能通过JPA的主键生成策略来实现。

映射特殊类型
映射Blob和Clob类型(@Lob),注意项:
·@Lob适用于标注字段类型为Clob和Blob类型
·Clob类型是长字符串类型,映射可为char[]、Character[]或者String类型
·Blob类型是字节类型,映射可为byte[]、Byte[]或者实现了Serializable接口的类
·因为这两种类型的数据一般占用的内存空间比较大,所以都要与@Basic标记同时使用,设置加载方式为FetchType.LAZY

映射非持久化类型:@Transient

1
2
分享到:
评论

相关推荐

    EJB_JPA数据库持久层开发详解

    #### 映射持久化对象 在JPA中,持久化对象(Entity)的映射涉及到多个方面,包括实体类的定义、表和字段的映射、主键的生成策略、特殊类型的映射等。例如,使用`@Entity`注解标识一个类为实体类,`@Id`注解标识主键...

    EJB+JPA数据库持久层开发实践详解PDF

    其中,会话bean用于处理业务逻辑,实体bean用于表示数据库中的持久化对象,而消息驱动bean则处理JMS(Java Message Service)消息。 JPA是Java平台上的一个规范,它的主要目标是简化Java应用程序的持久化层开发。...

    EJB3_JPA对象持久化文档

    ### EJB3_JPA对象持久化文档 #### JPA概述 **JPA**(Java Persistence API)是由Sun Microsystems推出的用于Java应用程序的数据持久化标准。它为开发者提供了一种灵活高效的方式来处理应用程序与底层数据存储之间...

    EJB_JPA数据库持久层开发详解.doc

    **五、映射持久化对象(Entity)** 本章详细讲解了如何定义和配置Entity,包括基本的POJO类、@Entity注解、主键标识、数据类型映射以及特殊类型映射,如Blob、Clob和时间类型。此外,还讨论了各种主键生成策略,如...

    拍卖系统jsf+ejb+jpa

    在IT行业中,`JSF(JavaServer Faces)`、`EJB(Enterprise JavaBeans)`和`JPA(Java Persistence API)`是三个...JSF处理用户界面,EJB处理业务逻辑,JPA负责数据持久化,三者协同工作,构建了一个高效、健壮的拍卖系统。

    JPA学习笔记-EJB-04JPA关联映射总结

    JPA(Java Persistence API)是Java平台上的一个标准,用于管理关系数据库中的数据,简化了对象持久化的流程。在EJB(Enterprise JavaBeans)框架中,JPA被广泛使用,提供了一种面向对象的方式来处理数据库交互。本...

    EJB学习大全(EJB3.0实例教程 JPA教程 实战EJB)

    5. **持久化框架(Persistence Framework)**:EJB3.0引入了JPA(Java Persistence API),提供了一种标准的方式来管理和操作数据,与ORM工具如Hibernate集成。 **JPA教程**: JPA是Java平台上的持久化规范,它允许...

    EJB3持久化

    EJB3.0不再局限于传统的EJB2.1实体Bean,而是采用了POJO(Plain Old Java Objects)作为持久化实体的基础,使得开发者可以像编写普通Java类一样处理持久化对象。 **POJO(Plain Old Java Objects)** POJO是一个非...

    基于JSF+EJB3+JPA的竞价拍卖系统

    此外,EJB3还支持依赖注入(DI)和持久化管理,便于组件之间的协作和数据的存储。 **3. Java Persistence API (JPA)** JPA是Java标准的ORM(对象关系映射)规范,用于在Java应用中管理数据库操作。在拍卖系统中,...

    EJB3 JAVA持久化API

    《EJB3 JAVA持久化API》一书由Mike Keith和Merrick Schincariol共同撰写,深入探讨了Java Persistence API(JPA),这是Java平台中用于处理对象关系映射(ORM)的一种规范,旨在简化企业级Java应用中的数据访问与...

    ejb3 jpa初探

    在EJB3中,JPA被集成作为默认的持久化框架,使得EJB组件可以轻松地管理和存储数据。通过在EJB3实体bean上使用JPA注解,开发者可以直接在bean中定义数据库表结构和字段。这些注解包括`@Entity`(定义实体类)、`@...

    巴巴运动网源码 巴巴运动网 EJB+JPA+SSH

    通过JPA,巴巴运动网的开发团队可以更方便地管理数据库中的实体,实现数据的持久化,同时保持代码的可读性和可维护性。 SSH是一个经典的Java Web开发框架组合。Struts是MVC(Model-View-Controller)框架,负责处理...

    Java Web JSF +Richfaces+EJB+JPA航空订票系统

    总的来说,这个航空订票系统利用了Java Web的强大力量,通过JSF和Richfaces提供用户友好的界面,EJB处理业务逻辑,而JPA则负责数据持久化。结合远程连接技术,整个系统能够灵活地部署和扩展,适应不断变化的业务需求...

    EJB,JPA,JSF,UML,WebService以及图形界面代码

    这些bean可以处理业务逻辑,实现数据持久化,并通过Java远程方法调用(RMI)进行通信。EJB的使用可以简化分布式系统的开发和管理,但也有一定的学习曲线和配置复杂性。 JPA(Java Persistence API)是Java EE中的一...

    经典JavaEE企业应用实战-基于 WebLogic JBoss的JSF+EJB 3+JPA整合开发

    3. **Java Persistence API (JPA)**:JPA是Java平台上的ORM(对象关系映射)标准,它为Java开发者提供了一种统一的方式来管理和持久化Java对象到数据库中。JPA通过元数据描述对象和表之间的映射,消除了SQL代码,...

    EJB3.0持久化开发手册

    EJB3.0中的持久化主要基于JPA,它是Java平台上的标准ORM(对象关系映射)框架。JPA允许开发者使用Java对象模型来操作关系数据库,而无需编写SQL语句。通过注解和XML配置,开发者可以轻松地定义实体类和它们与数据库...

    javaee jsf+ejb+jpa

    EJB有三种主要类型:会话bean(Session Beans)处理客户端请求,实体bean(Entity Beans)代表数据库中的持久化对象,而消息驱动bean(Message-Driven Beans)则处理JMS(Java Message Service)消息。EJB 3.0引入了...

    SSH框架和JPA+EJB+JSF框架的比较

    通过使用注解定义对象与数据库之间的映射关系,JPA极大地简化了数据持久化的开发过程。 - **EJB (Enterprise JavaBeans)**:EJB是Java EE的核心组成部分之一,主要用于实现企业级应用的业务逻辑。EJB提供了组件...

Global site tag (gtag.js) - Google Analytics