欢迎来到天天文库
浏览记录
ID:37859269
大小:64.00 KB
页数:12页
时间:2019-06-01
《JPA 与 Hibernate 的关系》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JPA与Hibernate的关系什么是JPAJavaEE5.0的平台的ORM标准规范。为应用程序访问持久层提供统一的方式。JPA是规范,Hibernate是实现。从功能上来讲,JPA是Hibernate的一个子集。Hibernate只是JPA的一个提供商。类似于JDBC和JDBC驱动提供商。JPA的优点JPA提供了更加简洁的,基于注解的方式来进行映射。JPA配置文件要求必须配置在META-INF目录下,且配置名字是固定的persistence.xml。顶级节点为,次级节点为,JPA的
2、绝大部分信息配置在节点内。节点name属性:用来指定这个persistence单元的名称节点transaction-type属性:指定JPA的事务处理策略,默认为RESOURCE_LOCAL,数据库级别的事务,只能针对一种数据库,不支持分布式事务。若需要支持分布式事务,使用JTA,即:transaction-type="JTA"。如果JPA的提供者存在多个的时候,需要在节点配置具体使用哪个提供者。需要是javax.persist
3、ence.spi.PersistenceProvider的实现类。在节点内通过节点配置数据库连接信息。在节点内通过节点配置属于具体实现的特性信息。通过节点来配置映射的实体类。举例4、01"transaction-type="RESOURCE_LOCAL">org.hibernate.ejb.HibernatePersistencecom.solverpeng.jpa.Customercom.solverpeng.jpa.Orderscom.solverpeng.jpa.Clazzcom.solverpeng.jpa.Student5、ertyname="hibernate.connection.driver_class"value="com.mysql.jdbc.Driver"/>6、>7、stence>注意事项指定JPA实现后,在配置数据库驱动、连接、用户名和密码的时候,需要指定前缀。通过IntellijIdea默认生成的实体类,id没有指定生成方式,需要通过@GeneratedValue来指定。实体注解基本注解@Entity:顾名思义,用来映射实体@Table:当实体类和数据库表名不一致时,需要通过@Table的name属性来指定表名,需要和@Entity注解同时使用。@Id:用来映射主键列。@Column:当属性名和列表不一致时,可以通过@Column的name属性来指定映射的列名。@GeneratedValue:用来映射主8、键生成策略。IDENTITY:ID自增的方式AUTO:自动选择一个底层数据库最适合的主键生成策略。SEQUENCE:通过序列产生主键。TABLE:通过
4、01"transaction-type="RESOURCE_LOCAL">org.hibernate.ejb.HibernatePersistencecom.solverpeng.jpa.Customercom.solverpeng.jpa.Orderscom.solverpeng.jpa.Clazzcom.solverpeng.jpa.Student5、ertyname="hibernate.connection.driver_class"value="com.mysql.jdbc.Driver"/>6、>
5、ertyname="hibernate.connection.driver_class"value="com.mysql.jdbc.Driver"/>6、>
6、>
7、stence>注意事项指定JPA实现后,在配置数据库驱动、连接、用户名和密码的时候,需要指定前缀。通过IntellijIdea默认生成的实体类,id没有指定生成方式,需要通过@GeneratedValue来指定。实体注解基本注解@Entity:顾名思义,用来映射实体@Table:当实体类和数据库表名不一致时,需要通过@Table的name属性来指定表名,需要和@Entity注解同时使用。@Id:用来映射主键列。@Column:当属性名和列表不一致时,可以通过@Column的name属性来指定映射的列名。@GeneratedValue:用来映射主
8、键生成策略。IDENTITY:ID自增的方式AUTO:自动选择一个底层数据库最适合的主键生成策略。SEQUENCE:通过序列产生主键。TABLE:通过
此文档下载收益归作者所有