jpa杂记

jpa中persistence.xml配置:

 

<properties>

<property name="hibernate.show_sql" value="true" />      

  <property name="hibernate.hbm2ddl.auto" value="create-drop" />

</properties>

 

其中第二个配置项的value可取值:

validate      加载hibernate时,验证创建数据库表结构

create        每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。

create-drop   加载hibernate时创建,退出是删除表结构

update        加载hibernate自动更新数据库结构

none 应该是不做任何操作

 

 

 

JPA:用于规范现有的ORM技术,面对JPA规范编程,是一种标准,而如hibernate、JDO、Toplink则是对应的产品

包括3方面的技术:

1、ORM映射元数据:支持XML和JDK5.0注解,元数据描述对象和表之间的映射关系

2、Java持久化API:操作实体对象,执行CRUD操作

3、查询语言JPQL:

 

hibernate核心包:distribution,注解包:annotations以及针对JPA的实现包entitymanager

 

事务类型:本地事务和全局事务

 

转账:1、mysql 2、Oracle

 

1>update mysql set amount=amount-XX where id = XXX(mysql)

2>update mysql set amount=amount+XX where id = YYY(Oracle)

使两个语句在同一事务中执行

jdbc时需要设置连接 

connection1-->mysql,connection1.setAutoCommit(false),

connection2-->oracle,connection2.setAutoCommit(false),

执行语句,

再Commit

但一个事务只能在一个connection中提交,所以就需要全局事务

 

全局事务:

JTA.getUserTransaction().begin();

执行操作

JTA.getUserTransaction().commit);

 

2次提交协议:先预提交数据库,数据库返回提交结果boolean值,如果所有操作都是true,则真正提交,否则事务失败,回滚

 

GenerationType.TABLE以表的方式生成组件值(还不清楚)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值