Hibernate_day02

上节内容

今天内容

实体类编写规则

Hibernate主键生成策略

实体类操作

对实体类crud操作

添加操作

根据id查询

修改操作

删除操作

实体类对象状态(概念)

Hibernate的一级缓存

什么是缓存

Hibernate缓存

验证一级缓存存在

Hibernate一级缓存执行过程

Hibernate一级缓存特性

Hibernate事务操作

事务相关概念

Hibernate事务代码规范写法

Hibernate绑定session

Hibernate的api使用

Query对象

Criteria对象

SQLQuery对象

Hibernate_day02

上节内容

1 web内容回顾

2 hibernate概述

(1)orm思想

3 hibernate入门案例

4 hibernate的配置文件

5 hibernate的核心api

今天内容

1 实体类编写规则

2 hibernate主键生成策略

(1)native

(2)uuid

3 实体类操作

(1)crud操作

(2)实体类对象状态

4 hibernate的一级缓存

5 hibernate的事务操作

(1)事务代码规范写法

6 hibernate其他的api(查询)

(1)Query

(2)Criteria

(3)SQLQuery

实体类编写规则

1 实体类里面属性私有的

2 私有属性使用公开的set和get方法操作

3 要求实体类有属性作为唯一值(一般使用id值)

4 实体类属性建议不使用基本数据类型,使用基本数据类型对应的包装类

(1)八个基本数据类型对应的包装类

- int – Integer

- char—Character

- 其他的都是首字母大写 比如 double – Double

(2)比如 表示学生的分数,假如 int score;

- 比如学生得了0分 ,int score = 0;

- 如果表示学生没有参加考试,int score = 0;不能准确表示学生是否参加考试

l 解决:使用包装类可以了, Integer score = 0,表示学生得了0分,

l 表示学生没有参加考试,Integer score = null;

Hibernate主键生成策略

1 hibernate要求实体类里面有一个属性作为唯一值,对应表主键,主键可以不同生成策略

2 hibernate主键生成策略有很多的值

3 在class属性里面有很多值

(1)native: 根据使用的数据库帮选择哪个值

(2)uuid:之前web阶段写代码生成uuid值,hibernate帮我们生成uuid值

4 演示生成策略值 uuid

(1)使用uuid生成策略,实体类id属性类型 必须 字符串类型

(2)配置部分写出uuid值

实体类操作

对实体类crud操作

添加操作

1 调用session里面的save方法实现

根据id查询

1 调用session里面的get方法实现

实体类中要重写toString()方法

修改操作

1 首先查询,修改值

(1)根据id查询,返回对象【如果不是查出来再修改,用update保存时其他字段值会变null】

删除操作

1 调用session里面delete方法实现

实体类对象状态(概念)

1 实体类状态有三种

(1)瞬时态:对象里面没有id值,对象与session没有关联

(2)持久态:对象里面有id值,对象与session关联

(3)托管态:对象有id值,对象与session没有关联

2 演示操作实体类对象的方法

(1)saveOrUpdate方法:实现添加、实现修改

Hibernate_day02--课程安排_主键生成策略_对实体类crud操作_实体类对象状态的更多相关文章

  1. hibernate 注解 主键生成策略

    一.JPA通用策略生成器       通过annotation来映射hibernate实体的,基于annotation的hibernate主键标识为@Id, 其生成规则由@GeneratedValue ...

  2. hibernate的主键生成策略

    一共是13种,其中包括native native: 对于 oracle 采用 Sequence 方式,对于MySQL 和 SQL Server 采用identity(自增主键生成机制),native就 ...

  3. Hibernate学习笔记(三)Hibernate生成表单ID主键生成策略

    一. Xml方式 <id>标签必须配置在<class>标签内第一个位置.由一个字段构成主键,如果是复杂主键<composite-id>标签 被映射的类必须定义对应数 ...

  4. 基于按annotation的hibernate主键生成策略

    基于按annotation的hibernate主键生成策略 博客分类: Hibernate HibernateJavaJPAOracleMySQL  这里讨论代理主键,业务主键(比如说复合键等)这里不 ...

  5. jpa基于按annotation的hibernate主键生成策略

    JPA注解持久化类很方便,需要jar包:ejb3-persistence.jar下载 一.JPA通用策略生成器 通过annotation来映射hibernate实体的,基于annotation的hib ...

  6. Hibernate框架笔记02_主键生成策略_一级缓存_事务管理

    目录 0. 结构图 1. 持久化类的编写规则 1.1 持久化和持久化类 1.2 持久化类的编写规则 2. 主键生成策略 2.1 主键的分类 2.2 主键生成策略 3. 持久化类的三种状态[了解] 3. ...

  7. Hibernate(4)——主键生成策略、CRUD 基础API区别的总结 和 注解的使用

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点总结如下: hibernate的主键生成策略 UUID 配置的补充:hbm2ddl.auto属性用法 注解还是配置文件 h ...

  8. hibernate主键生成策略

    在hibernate中,提供了多种主键生成器(不同的数据库,不同的表结构使用的主键生成策略也不相同),查阅相关资料经过实验总结如下: 1.increment 主键按照数值顺序递增,使用当前实例中最大值 ...

  9. Hibernate主键生成策略(转)

    1.自动增长identity 适用于MySQL.DB2.MS SQL  Server,采用数据库生成的主键,用于为long.short.int类型生成唯一标识 使用SQL Server 和 MySQL ...

随机推荐

  1. scikit-learn:4.2.3. Text feature extraction

    http://scikit-learn.org/stable/modules/feature_extraction.html 4.2节内容太多,因此将文本特征提取单独作为一块. 1.the bag o ...

  2. exception in initAndListen: 12596 old lock file, terminating

    #mongd -f /etc/mongodb.conf时报错 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamFjc29uX2JhaQ==/font/5a ...

  3. LDO和BUCK降压稳压器对比

    LDO和BUCK降压稳压器对比 在采用MCU/DSP/FPGA设计的控制系统中,低压输入级(一般在12V以下),输出5V/3.3V/1.8V/1.5V/1.2V的电路中,常用的电源芯片是BUCK(降压 ...

  4. 请介绍WCF服务

    WCF本质上提供一个跨进程.跨机器以致跨网络的服务调用 WCF合并了Web服务..net Remoting.消息队列和Enterprise Services的功能并集成在Visual Studio中, ...

  5. LPC(Low Pin Count) 与SIO(Super IO)

    记录bios学习的点点滴滴,虽然已经学了很长时间才发出来,但就当是温故而知新吧,由于水平有限,难免存在错误,望指正,同时感谢CSDN提供的平台. 1.LPC 定义:​ Intel所定义的PC接口,将以 ...

  6. (oneway void) release中oneway的意思

    oneway is used with the distributed objects API, which allows use of objective-c objects between dif ...

  7. 关于 initWithNibName 和 loadNibNamed 的区别和联系-iPhone成长之路

    转自:http://blog.sina.com.cn/s/blog_7b9d64af01018f2u.html 关于 initWithNibName 和 loadNibNamed 的区别和联系.之所以 ...

  8. location 设定某个文件的过期时间,并不记录访问日志

    网页的根目录本来是: 6 root /app/www/default; [root@web01 default]# cat /app/server/nginx/conf/vhosts/default. ...

  9. Form表单——例子

    Form Form的验证思路 前端:form表单 后台:创建form类,当请求到来时,先匹配,匹配出正确和错误信息. Django的Form验证实例: 创建project,进行基础配置文件配置 STA ...

  10. Qt学习过程中遇到的问题

    由于工作需要,开始使用Qt,由于在网上找的教程文档时针对qt3的,所以在学习的过程遇到了许多由于版本不一致造成的问题,因此记录下来. 参考的文档是:Qt入门教程 详细讲解版 本机Qt版本为:Qt5.3 ...