集合1
集合1
较难理解
create
create-drop
update:自动生成表
validate
drop
identy
nati
configuration
configuration
configure
configuration
config.buidSessionfactory
session
session.get()
object
l
configuration
sessionfactory
session
openSession
begintransactionse
session.update
beginTransaction
begintransaction
select
get set
session
session
Thread.c
session
lain
class
update
session
save
update
delete
session.set
com.domain 下:
User.hbm.xml
持久化的特点:任何关系到数据库的改变,都会同步到数据库
将我们希望同步到数据库中的数据,变为持久化状态
session.get();
session.save();
session.update();
session.saveOrUpdate();无脑将对象变为持久化状态
一级缓存:提高效率
为什么getCurrentSession()是在同一个session里面??
需要去 hibernate.cfg.xml中配置成同一个线程
<!-- 配置事务(session与当前线程绑定) -->
<property name="hibernate.current_session_context_class">thread</property>
HQL
基本查询
条件查询
基本条件查询
?占位符
命名占位符
分页查询
criteris查询
基本查询
条件查询
分页查询
查询总记录数
新版本的 hibernate 使用 占位符条件查询
需要在hql语句中的 ? 后面加上 0
例如:from User where id = ?0 ?1
hql命名占位符查询
hql语句中需要注意英文与中文的书写符号
limit ?,?
第一个问号代表:
query.setFirstResult(1);
第二个问号代表:
query.setMaxResults(1);