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 条评论
登录 后参与评论

相关文章

来自专栏代码GG之家

深入Android源码系列(二) HOOK技术大作战

漫天的标题党的口水文打赏爆表,冷落了一群默默输出高质量文章的人群。真正的技术文章能否得到认可? 本文讲解内容有 hook技术原理探究 ...

29250
来自专栏Django Scrapy

Linux 目录结构及文件基本操作

win和类unix系统的文件目录的区别 一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介质为主的,主要...

34660
来自专栏GreenLeaves

WCF系列教程之WCF服务配置

文本参考自:http://www.cnblogs.com/wangweimutou/p/4365260.html 简介:WCF作为分布式开发的基础框架,在定义服...

23860
来自专栏前端杂货铺

高吞吐koa日志中间件

Midlog中间件 node服务端开发中少不了日志打点,而在koa框架下的日志打点在多进程环境中日志信息往往无法对应上下文,而且在高并发下直接进行写buffer...

623100
来自专栏CSDN技术头条

基于Zookeeper的分布式锁

实现分布式锁目前有三种流行方案,分别为基于数据库、Redis、Zookeeper的方案,其中前两种方案网络上有很多资料可以参考,本文不做展开。我们来看下使用Zo...

34980
来自专栏抠抠空间

Django之auth模块(用户认证)

auth模块简介 auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合的对象, 而有了a...

51350
来自专栏PHP在线

你真的了解php吗?

一、特性 1. 命名空间 命名空间用的比较多,不详细写了,记录几个值得注意的实践和细节。 多重导入 别这么做,这样写容易让人困惑。 <?php use Symf...

38850
来自专栏闻道于事

Linux-看完这篇Linux基本的操作就会了

37730
来自专栏Java后端技术

一段奇妙的vim编辑器之旅

  对于Linux服务器上的操作,我们往往少不了使用vim,而有时候我对vim的使用并没有那么的熟练和深入,这周就深入的学习了vim的使用,包括入门和进阶,先分...

9330
来自专栏Java3y

看完这篇Linux基本的操作就会了

35260

扫码关注云+社区

领取腾讯云代金券