SPRING-DATA-JPA

1.Jpa api
persistence: 最主要的是获取entitymanagerFactory
entitymanagerFactory:获取EntityManager实例
2.entitymanager:
•createQuery (String qlString):创建一个查询对象。
•createNamedQuery (String name):根据命名的查询语句块创建查询对象。参数为命名的查询语句。
•createNativeQuery (String sqlString):使用标准 SQL语句创建查询对象。参数为标准SQL语句字符串。
•createNativeQuery (String sqls, String resultSetMapping):使用标准SQL语句创建查询对象,并指定返回结果集 Map的 名称。
3.EntityTransaction
•EntityTransaction 接口用来管理资源层实体管理器的事务操作。通过调用实体管理器的getTransaction方法 获得其实例。
•begin ()
–用于启动一个事务,此后的多个数据库操作将作为整体被提交或撤消。若这时事务已启动则会抛出 IllegalStateException 异常。
•commit ()
–用于提交当前事务。即将事务启动以后的所有数据库更新操作持久化至数据库中。
•rollback ()
–撤消(回滚)当前事务。即撤消事务启动后的所有数据库更新操作,从而不对数据库产生影响。
•setRollbackOnly ()
–使当前事务只能被撤消。
•getRollbackOnly ()
–查看当前事务是否设置了只能撤消标志。
•isActive ()
–查看当前事务是否是活动的。如果返回true则不能调用begin方法,否则将抛出 IllegalStateException 异常;如果返回 false 则不能调用 commit、rollback、setRollbackOnly 及 getRollbackOnly 方法,否则将抛出 IllegalStateException 异常。
4.1.双向一对多及多对一映射
•双向一对多关系中,必须存在一个关系维护端,在 JPA 规范中,要求 many 的一方作为关系的维护端(owner side), one 的一方作为被维护端(inverse side)。
•可以在 one 方指定 @OneToMany 注释并设置 mappedBy 属性,以指定它是这一关联中的被维护端,many 为维护端。
•在 many 方指定 @ManyToOne 注释,并使用 @JoinColumn 指定外键名称
4.2. 双向一对一映射
•基于外键的 1-1 关联关系:在双向的一对一关联中,需要在关系被维护端(inverse side)中的 @OneToOne 注释中指定 mappedBy,以指定是这一关联中的被维护端。同时需要在关系维护端(owner side)建立外键列指向关系被维护端的主键列。
6. javax.persistence.Query
•Query接口封装了执行数据库查询的相关方法。调用 EntityManager 的 createQuery、create NamedQuery 及 createNativeQuery 方法可以获得查询对象,进而可调用 Query 接口的相关方法来执行查询操作。
Query接口的主要方法
–int executeUpdate()
•用于执行update或delete语句。
–List getResultList()
•用于执行select语句并返回结果集实体列表。
–Object getSingleResult()
•用于执行只返回单个结果实体的select语句。
–Query setFirstResult(int startPosition)
•用于设置从哪个实体记录开始返回查询结果。
–Query setMaxResults(int maxResult)
•用于设置返回结果实体的最大数。与setFirstResult结合使用可实现分页查询。
–Query setFlushMode(FlushModeType flushMode)
•设置查询对象的Flush模式。参数可以取2个枚举值&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值