Hibernate介绍

本文介绍了Hibernate,它是数据持久化和自动化的ORM框架,有开发效率高、便于数据迁移等优点,也存在不适合批量操作等缺点。还阐述了使用Hibernate的准备工作、步骤、常用注解、查询方式,最后说明了Spring集成Hibernate所需的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hibernate

  1. 神马是Hibernate?
    数据持久化框架;自动化的ORM框架;
    优点:开发效率高、便于数据迁移
    缺点:不适合批量操作,不好优化

  2. 使用Hibernate的3个准备工作
    下载并部署jar(maven) -> hibernate.cfg.xml -> 持久化类和映射文件(annotation)

  3. 7个使用步骤
    读取并解析配置文件和映射文件 --> 创建SessionFactory -> 打开session --> 开启事务 -> 持久化操作 -> 结束事务 --> 关闭session

  4. hibernate常用的注解有哪些?

    • @Id : 主键
    • @Entity: 标识实体类
    • @Column : 映射普通列
    • @Table : 映射表
    • @GeneratedValue : 设置自增列
    • @SequenceGenerator : 声明序列生成器
    • @ManyToOne : 多对一
    • @JoinColumn : 定义列
    • @ManyToMany : 多对多
    • @JoinTable : 定义关联表
    • @OneToMany 一对多
    • @LazyCollection:
      • LazyCollectionOption.TRUE:集合具有延迟性,只有在访问的时候才加载。
      • LazyCollectionOption.EXTRA:集合具有延迟性,并且所有的操作都会尽量避免加载集合, 对于一个巨大的集合特别有用,因为这样的集合中的元素没有必要全部加载。
      • LazyCollectionOption.FALSE:非延迟加载的关联。
    • @LazyToOne
      • LazyToOneOption.PROXY:基于代理的延迟加载。
      • LazyToOneOption.NO_PROXY:基于字节码增强的延迟加载 - 注意需要在构建期处理字节码增强。
      • LazyToOneOption.FALSE:非延迟加载的关联。
    • @Cascade :级联
    • @Fetch:配置加载方式
    • @Transient:瞬时属性
  5. Hibernate的查询方式有几种:

    • HQL : Hibernate Query Language

      Query 接口
      query.list();
      query.uniqueResult();
      query.setFirstResult();
      query.setMaxResults();
      query.setProperties(entity);
      query.setParameter(“name”,“haha”);
      query.executeUpdate(); 批量删除或者更新

    • Criteria:
  6. Hibernate的连接查询:hql
    String hql = “from Emp e left join fetch e.dept”;

Spring集成Hibernate需要什么?

  1. applicationContext.xml
  • 数据源 datasoure
  • sessionFactory
  • 事务管理器、事务通知,aop织入通知
  • 组件扫描
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值