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. c#:无法将类型为“System.DBNull”的对象强制转换为类型“System.String”

    解决办法: 使用转换函数即可: Convert.ToString(要转换的值);

  2. 层次选择器[selector_2.html]

    层次选择器[selector_2.html] $("form input"):祖先 后代 $("form>input"):父亲>直接小孩 $(&qu ...

  3. “cvc-complex-type.2.4.a: Invalid content was found starting with element 'taglib'”错误的解决办法

    <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" ...

  4. Linux命令-帮助命令:help

    which cd 查找cd命令的位置 which umask 查找umask命令的位置 Shell就是命令解释器,就是当你敲了一个命令,谁来把这个命令传递给内核,内核运行结束后返回一个结果,是谁把这个 ...

  5. Linux命令-文件处理命令:tail

    tail /etc/services 查看etc目录的services文件最后10行内容(默认显示后10行内容) tail -n /etc/services 查看etc目录的services文件的后5 ...

  6. 微软收购跨平台移动应用开发商Xamarin

    微软今天宣布收购移动应用跨平台开发商 Xamarin.收购金额未知.Xamarin 提供了通过 C# 开发 iOS.Android 和 Windows 原生移动应用的工具,以及云端应用測试平台 – 全 ...

  7. 使用 nice、cpulimit 和 cgroups 限制 cpu 占用率

    Linux内核是一名了不起的马戏表演者,它在进程和系统资源间小心地玩着杂耍,并保持系统的能够正常运转. 同时,内核也很公正:它将资源公平地分配给各个进程. 但是,如果你需要给一个重要进程提高优先级时, ...

  8. ssm开发系的统架构图

  9. Windows BAT

    一个BAT拷贝程序: :: For example: SRC_PATH = C:\hello\world :: and DEST_PATH = E:\another :: this program w ...

  10. lodop简单入门教程

    lodop简单入门 1 安装(这个不介绍,下载安装即可) 声明只能装windows,linux不能装,所以linux 服务器要使用直接使用http://localhost:8000/CLodopfun ...