传智播客hibernate视频教程-读书笔记1

1~13讲:

 

1、hibernate/etc/hibernate.properties中有所有cfg配置属性

2、hibernate.cfg.xml中
     hbm2ddl.auto表示是否由hibernate自动创建表
     create-drop 运行前创建,运行结束删除
     create  先drop后create
     update  比较映射文件和表结构的区别,不一样的情况下update数据库表结构
     validate 同3,但是不是update,而是报错
 
     show_sql表示是否打印sql语句

3、domain对象必须要有默认构造方法

4、Session几个主要方法
     save,persist保存数据,没开启事务(transaction)时,persist不会产生insert语句,而save会先insert后发现无事务,然后又回滚。当事务开启时,这两个方法含义一致,都是保存。
     delete 删除对象
     update 更新对象。如果数据库中没有记录,会报异常
     get 立即访问数据库
     load 懒加载 (只在使用时才真正查询,但是要保证在session未关闭前使用查询过,否则在其他处直接使用该数据时就会报错)
     saveorupdate hibernate根据id是否有值来决定是save瞬时对象还是update脱管对象。merge也是此含义,但是区别在于调用merge后对象还是脱管的。

5、瞬时,持久,脱管

6、两种查询方式
   HQL:对象名区分大小写
       hql=from User as user where user.name=?    //?可以使用别名:n代替?,便于程序维护 ,则query.setString("n",name)
       Query query = s.createQuery(hql)
       query.setString(0,name)
       list = query.list()   //如果确认查询结果只有一个,那就用 User u = query.uniqueResult()
      
       分页方法:在query.list()前加上如下两条语句
                 query.setFirstResult(200)
                 query.setMaxResult(10)     //表示从结果的第200条开始取10条

   Criteria条件查询:
       Critical c = s.createCriteral(User.class)
       c.add(Restrictions.eq("name",name))
       c.add((Restrictions.lt("birthday",new Date()))
       c.setFirstResult(200)
       c.setMaxResult(10)
       list = c.list()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值