
hibernate
云淡风轻58
代码是程序员的朋友,虽然没有热情,但是非常忠实。扣:83475375
展开
-
hibernate多对多双向关联
【例】学生选课第一步:创建数据表课程表学生表学生---选课第二步:创建实体类package com.dwx.models;import java.util.HashSet;import java.util.Set;public class Student { private int sid; private String sname; private Set<Course>...原创 2018-05-25 09:34:15 · 156 阅读 · 0 评论 -
HQL外连接
【例】图书与出版社图书表出版社表1、左外连接session=HibernateSessionFactory.getSession(); String hql="from Book b left join b.publisherId"; Query query=session.createQuery(hql); List result=query.list(); Iter...原创 2018-05-28 16:05:39 · 528 阅读 · 0 评论 -
hibernate多对一单向关联
【例】图书与出版社第一步:创建数据库表图书表出版社表第二步:创建实体类product.javapackage com.dwx.entity;public class Product { private int id; private String name; private double price; private Factory factory; public int getId...原创 2018-05-24 10:08:15 · 159 阅读 · 0 评论 -
hibernate多对一双向关联
【例】图书与出版社第一步:创建数据库表图书表出版社表第二步:创建实体类product.javapackage com.dwx.entity;public class Product { private int id; private String name; private double price; private Factory factory; public int getId(...原创 2018-05-24 11:07:21 · 238 阅读 · 0 评论 -
Hibernate事务管理
事务是指一组相互依赖的操作行为,在每个事务结束时,都能保持数据的一致性。数据库向用户提供保存当前程序状态的方法叫事务提交(Commit);当事务执行过程中,使数据库忽略当前的状态并回到前面保存的状态的方法叫事务回滚(RollBack)。通过将一组相关操作组合为一个要么全部成功,要么全部失败的单元,可以简化错误恢复,同时使应用程序更加可靠。事务的特性 数据库事务是指由一个或多个SQL语...原创 2018-05-29 10:55:02 · 574 阅读 · 0 评论 -
Hibernate多对多关联
【例】学生选课第一步:创建数据表课程表学生表第二步:创建实体类学生类package com.dwx.entity;import java.util.Set;public class Student { private int sid; private String sname; private Set<Course>courses; public int getSid() ...原创 2018-05-24 15:18:21 · 132 阅读 · 0 评论 -
在Hibernate中使用事务
Hibernate对JDBC进行了轻量级的封装,它本身在设计时不具备事务处理功能。Hibernate将底层的JDBCTransaction或JTATransaction进行了封装,再在外面套上Transaction和Session的外壳,其实是通过委托底层的JDBC或JTA来实现事务的处理功能的。1.在Hibernate中使用JDBC事务 Hibernate在Session控制下,在...原创 2018-05-29 14:43:33 · 606 阅读 · 0 评论 -
Hibernate锁机制
Hibernate支持两种锁机制: 悲观锁(Pessimistic Locking):当数据被外界修改时保持原始状态,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁大多数情况下依靠数据库的锁机制实现。 乐观锁(Optimistic Locking):主要由Hibernate提供的版本控制功能实现。Hibernate的主要锁定模式:(1) LockMode.NONE:无锁机制,这是默认的...原创 2018-05-29 16:42:39 · 1299 阅读 · 0 评论 -
Hibernate基于version的乐观锁
在Hibernate中,主要由Hibernate提供的版本控制功能来实现乐观锁定。Hibernate为乐观锁提供了两种实现,分别基于version的实现和基于timestamp的实现。version元素利用一个递增的整数来跟踪数据表中记录的版本;而timestamp元素则用时间来跟踪数据库表中记录的版本。accounts表结构创建实体类package com.dwx.models;pub...原创 2018-05-29 17:20:18 · 7027 阅读 · 0 评论 -
HQL内连接
【例】图书与出版社图书表出版社表省略实体类、映射配置的创建........1、内连接session=HibernateSessionFactory.getSession(); String hql="from Book b inner join b.publisherId"; Query query=session.createQuery(hql); List result=...原创 2018-05-28 15:31:38 · 925 阅读 · 0 评论 -
本地SQL查询
【例】雇员信息表测试类session=HibernateSessionFactory.getSession(); Query query=session.createSQLQuery("select * from employee where emp_name='李树生'").addEntity(Employee.class); List list=query.list(); ...原创 2018-05-28 11:18:50 · 617 阅读 · 0 评论 -
Hibernate投影查询
【例】雇员信息表雇员表结构雇员信息第一步:创建雇员类package com.dwx.models;import java.util.Date;public class Employee { private int id; private String emp_id; private String emp_name; private String emp_sex; private Da...原创 2018-05-25 17:29:01 · 370 阅读 · 0 评论 -
Hibernate聚集函数
【例】雇员信息表统计雇员人数(count)session=HibernateSessionFactory.getSession(); String hql="select count(emp) from Employee emp"; Query query=session.createQuery(hql); long count=(long)query.uniqueResult(...原创 2018-05-26 08:45:40 · 368 阅读 · 0 评论 -
HQL语句参数的绑定
【例】雇员信息第一种方式:查询薪水高于6000的雇员信息session=HibernateSessionFactory.getSession(); String hql="from Employee e where e.emp_salary>6000"; Query query=session.createQuery(hql); List<Employee>li...原创 2018-05-26 10:00:34 · 1165 阅读 · 0 评论 -
HQL条件查询
【例】雇员信息比较运算:查询姓名为“李树生”的雇员信息session=HibernateSessionFactory.getSession(); String hql="from Employee e where e.emp_name=?"; Query query=session.createQuery(hql); query.setParameter(0, "李树生"); ...原创 2018-05-26 11:08:02 · 1239 阅读 · 0 评论 -
HQL分页查询
【例】雇员信息分页查询(1)setFirstResult(int firstResult):设置开始检索的对象。(2)setMaxResults(int maxResults):设置每次检索返回的最大对象数。session=HibernateSessionFactory.getSession(); String hql="from Employee"; Query query=sess...原创 2018-05-26 11:18:39 · 5055 阅读 · 0 评论 -
Hibernate导航对象图检索方式
【例】雇员信息导航对象图检索方式session=HibernateSessionFactory.getSession(); Employee emp=session.get(Employee.class, 1); System.out.println(emp.getEmp_id()+" "+emp.getEmp_name()+" "+emp.getEmp_sex()+ ...原创 2018-05-26 11:25:01 · 497 阅读 · 0 评论 -
OID检索方式
【例】雇员信息表测试类session=HibernateSessionFactory.getSession(); Employee emp=session.load(Employee.class, 1); System.out.println(emp.getEmp_id()+" "+emp.getEmp_name()+" "+emp.getEmp_sex()+ ...原创 2018-05-28 10:27:37 · 611 阅读 · 0 评论 -
QBC(Qurey ByCriteria)检索方式
QBC(Qurey ByCriteria)检索方式 采用HQL检索方式时,在应用程序中需要定义基于字符串形式的HQL查询语句。QBC API提供了检索对象的另一种方式,它主要由Criteria接口、Criterion接口和Expression类组成,它支持在运行时动态生成查询语句。【例】雇员信息表测试类session=HibernateSessionFactory.getSessio...原创 2018-05-28 10:47:43 · 275 阅读 · 0 评论 -
Hibernate基于timestamp的乐观锁
数据表创建实体类package com.dwx.models;import java.util.Date;public class Accounts { private int id; private String username; private double money; private Date lastUpdate; public Date getLastUpdate() ...原创 2018-05-30 09:23:52 · 1000 阅读 · 1 评论