专栏首页Java 技术分享IDEA 下新建 Hibernate 项目

IDEA 下新建 Hibernate 项目

Hibernate 概述

  • 什么是 Hibernate
    • 一个 Java 领域的持久化框架
    • 一个 Java 领域的ORM 框架
  • 什么是持久化
    • 持久化是指把对象永久保存到数据库中
    • 持久化包括和数据库相关的各种操作(增、删、改、查)
  • 什么是 ORM
    • ORM 是指对象关系映射(Object/Relation Mapping)
    • ORM 将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序员可以把对数据库的操作转换为对对象的操作
    • 面向对象概念中的对应着面向关系概念中的对象对应着表的行属性对应着表的列(字段)
  • IDEA 下 Hibernate 开发步骤
    • 创建 Hibernate 项目
    • 在数据库下创建好对应的数据表
    • IDEA 下连接对应的数据库
    • IDEA 下反向生成实体类和对象-关系映射文件(*.hbm.xml)
  • 完善 hibernate.cfg.xml 文件
    • 如上所示为 IDEA 下自动生成的实体类以及配置文件,我们需要在配置文件中加入其他配置,如下(hibernate.cfg.xml
  • Main 类解析(IDEA 新建 Hibernate 项目生成 Main 类的解析)
  • Hibernate 配置文件 hbm2ddl.auto 属性: 由 java 代码生成数据库脚本, 进而生成具体的表结构. 。取值 create | update | create-drop | validate
    • create : 会根据 .hbm.xml 文件来生成数据表, 但是每次运行都会删除上一次的表 ,重新生成表, 哪怕二次没有任何改变
    • create-drop : 会根据 .hbm.xml 文件生成表,但是SessionFactory一关闭, 表就自动删除
    • update : 最常用的属性值,也会根据 .hbm.xml 文件生成表, 但若 .hbm.xml 文件和数据库中对应的数据表的表结构不同, Hiberante 将更新数据表结构,但不会删除已有的行和列
    • validate : 会和数据库中的表进行比较, 若 .hbm.xml 文件中的列在数据表中不存在,则抛出异常

对于IDEA 中 hbm2ddl.auto 属性应用还有点没搞清楚,还望大神指点!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • IDEA 下新建 Hibernate 项目

    bgZyy
  • WEB 小案例 -- 网上书城(四)

    bgZyy
  • Java 基础 -- 泛型、集合、IO、反射

    bgZyy
  • 与访问控制相关的安全问题

    学习打卡计划是信安之路知识星球开启的 “每天读书一小时,挑战打卡一百天” 主题活动,能够坚持学习打卡 100 天的同学可以获得信安之路提供的百分成就徽章和证书,...

    信安之路
  • 数据结构 重点详解

    线性数据结构 线性表-顺序表 代码实现: #include <bits/stdc++.h> #define TRUE 1 #define FALSE 0...

    Kindear
  • Java——数据库编程JDBC之数据库连接池技术(C3P0与Druid,提供了Druid的工具类)

    上篇博文中讲解的JDBC,程序中每次都要获取数据库连接,使用完毕后直接释放资源,实际上这种在实际应用中是不可取的,因为效率很低,所以,本文来总结下数据库连接池技...

    Winter_world
  • 无人超市对社会是福还是祸?

    最近一段时间一直被 马云 的 无人超市 刷屏,很多人抨击 马云 想垄断整个零售业,让大部分收银员,服务员失业,让中小超市倒闭,进一步成为行业寡头,一个人把所有钱...

    用户2965681
  • Unix/Linux系统下的nobody用户与nologin详细介绍

    1、Windows系统在安装后会自动建立一些用户帐户,在Linux系统中同样有一些用户帐户是在 系统安装后就有的,就像Windows系统中的内置帐户一样。

    砸漏
  • 被神话的Linux, 一文带你看清Linux在多核可扩展性设计上的不足

    我其实并不想讨论微内核的概念,也并不擅长去阐述概念,这是百科全书的事,但无奈最近由于鸿蒙的发布导致这个话题过火,也就经不住诱惑,加上我又一直比较喜欢操作系统这个...

    Linux阅码场
  • 套接字选项

    选项影响套接字操作,如 封包路由,OOB数据传输,获取和设置套接字选项分别是 getsockopt  setsockopt 用法如下: int getsocko...

    用户1154259

扫码关注云+社区

领取腾讯云代金券