JPA相关内容
来源:互联网 发布:淘宝客要怎么推广 编辑:程序博客网 时间:2024/05/29 13:04
实体管理器(Entity Manager)是JAVA实体对象与数据库交互的中间件,作用主要有两个:
1:负责将JAVA中对实体的操作转化成SQL脚本,以便实现实体的持久化。
2.:负责将将执行面向实体的查询的JQL转化成SQL脚本,并将结果集组装给实体返回。
JPA规定的主要方法有:
persist(Object o),持久化实体
merge(T o),合并实体状态
remove(Object entity),删除实体
find(Class entityClass,Object primarykey),根据主键查找实体
flush(),同步到数据库
setFlushMode(FlushModeType flushMode),设置同步方式
getFlushMode(),得到同步方式
lock(Object entity,LockModeType lockMode),锁定
refresh(Object entity),更新状态
clear(),清除持久上下文
contains(Object entity),判断实体是否属于当前上下文环境
createQuery(String sqlString),创建查询
createNamedQuery(String name),创建命名查询
createNativeQuery(String sqlString),创建标准SQL查询
createNativeQuery(String sqlString,Class resultClass),创建标准SQL查询,并指定查询的结果
createNativeQuery(String sqlString,String resultsetMapping),创建标准SQL查询,并指定查询的结果如何映射
getTransaction(),返回事务对象
实体属性加载方式有两个:
及时加载(EAGER)
惰性加载(LAZY)
例子:@OneToOne(fetch=FetchType.Lazy)
如果是普通的属性
例子:@Basic(fetch=FetchType.Lazy)
实体关系注释默认的加载方式@OneTooneEAGER@OneToManyLAZY@ManyToOneEAGER@ManyToManyLAZY
凡是加载的是集合类的,默认为LAZY方式,否则就是EAGER方式
级联:
@OneToOne(CascadeType.Merge)
@OneToOne(CascadeType.Remove)
@OneToOne(CascadeType.All)
实体的生命周期:
1,瞬时状态
2,持久化状态
3,游离状态
4,托管状态
5,销毁状态
实体管理器会定时发现托管状态下的实体对象的状态发生变化,就自动执行flush()方法,将最新的实体状态保存到数据库中!
- JPA相关内容
- 相关内容
- JPA
- JPA
- JPA
- JPA
- JPA
- JPA
- JPA
- jpa
- JPA
- JPA
- JPA
- JPA
- JPA
- jpa
- jpa
- JPA
- openGL常用的函数
- 软件测试职业规划
- FZU 2082 过路费 (树链剖分)
- 3690状态压缩+暴力
- 关于求第几天的问题
- JPA相关内容
- POJ_3278 Catch That Cow(BFS)
- 链表反转的递归和非递归实现方式
- Oracle 11g Golden Gate DDL单向同步实例演示
- C语言代码实现 ls
- 3764树上的异或值(自己研究的静态字典树)
- JS获取表单所有元素(键值对方式)
- less参考手册
- sql server execution plan - 执行计划的诡异 ( 二 )