`
lzh166
  • 浏览: 298060 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ID生成策略与Save() 是否发出sql语句初探:

SQL 
阅读更多

 

ID生成策略与Save() 是否发出sql语句初探:

  1. 主键生成侧路采用的是uuid,所以调用完成save后,只是将实体对象纳入到了session的管理,并不会发出insert语句,但是id已经生成,sessionexistsInDatebase状态为false,所以在事务未commit()的时候是不会发出sql语句的。
  2. 主键生成策略为native/Identity(自动增长策略),所以调用session.save后,将执行insert语句,返回有数据库生成的id,纳入了session的管理,修改了sessionexistsInDatebase状态为true  
  3. 如果数据库的隔离级别设置为为提交读,那么我们就可以看到save过的数据。
分享到:
评论

相关推荐

    C#泛型、反射实例、自动生成sql语句

    本篇文章将详细探讨C#中的泛型、反射以及如何利用这些特性来实现自动生成SQL语句。 **一、C# 泛型** 泛型是C#的一个核心特性,它允许我们编写类型参数化的代码,即代码可以在多种数据类型上工作,而无需进行显式的...

    java操作mysql数据库,不写sql语句版

    在Java编程中,与MySQL数据库交互通常涉及到使用SQL语句来执行CRUD(创建、读取、更新、删除)操作。然而,为了提高代码的可维护性和安全性,开发者可以选择使用ORM(对象关系映射)框架,如Hibernate或MyBatis,...

    上传文件大全sql语句将 上传是时间作为上传文件的名字

    然而,给定的标题和描述中提到的“上传文件大全SQL语句”,似乎与上下文不符,因为SQL语句主要用于数据库操作,并不是用于处理文件上传逻辑。但在某些情况下,如果系统设计中包含了基于时间戳的文件名生成和数据库...

    sqlsave recovery for sqlserver

    《SQLSAVE Recovery for SQLServer:数据恢复的利器》 在SQLServer数据库管理中,数据的安全性和可恢复性是至关重要的。SQLSAVE Recovery for SQLServer是一款专门针对SQLServer数据库的恢复工具,它旨在帮助用户在...

    类与存储过程生成器SQL版

    例如,如果有一个名为"Employee"的表,生成器会创建一个"Employee"类,包含"ID"、"Name"、"Department"等属性,并提供"Save"、"GetById"、"Update"、"Delete"等方法。 存储过程是预编译的SQL语句集合,它们在数据库...

    输入sql语句导出excel

    SQL(Structured Query Language)是用于与关系型数据库进行交互的标准语言,而Excel则是广泛使用的电子表格工具,尤其适合数据分析和报告制作。"输入SQL语句导出Excel"这个主题,涉及到如何通过编程方式执行SQL查询...

    Hibernate生产SQL语句

    2. **属性映射(Field Mapping)**:Hibernate使用`@Id`注解定义主键,`@GeneratedValue`用于指定主键生成策略。其他属性可以通过`@ManyToOne`、`@OneToOne`、`@OneToMany`等注解定义关联关系。 3. **Session接口**...

    c++用SQL语句实现SQL Server的增、删、改、查

    在`save.cpp`文件中,注释可能提供了关于如何初始化数据库连接、构建和执行SQL语句、处理结果以及关闭连接的详细说明。代码的可读性和维护性非常重要,良好的注释可以帮助开发者理解和修改代码。 8. **编译环境**...

    Hibernate各种主键生成策略与配置详解

    ### Hibernate 主键生成策略与配置详解 #### 一、概述 在使用Hibernate进行持久化操作时,合理选择和配置主键生成策略对于确保数据的一致性和优化性能至关重要。本文将详细介绍几种常见的主键生成策略,并结合示例...

    mysql 原生语句中save 的写法汇总.docx

    使用 Hibernate 可以使用 saveOrUpdate 方法,但是使用原生 SQL 语句时,该如何实现 save 操作呢?今天,我们将讨论 MySQL 中 save 的写法汇总。 使用 IGNORE 关键字实现数据不存在则插入,存在则无操作 在 MySQL ...

    使用Rose建立SQL数据库的方法

    使用Rational Rose建立SQL数据库的方法 概述:本文将介绍使用Rational Rose建立SQL Server中的数据库对象的方法,包括后台数据库端的准备和Rational Rose中的操作步骤。 一、后台数据库端的准备 在使用Rational ...

    把sql表里面的数据导出到word里面

    要将SQL数据导出到Word,我们需要先建立与数据库的连接。这通常通过编程语言实现,如Python、Java或C#,这些语言都有相应的库支持数据库操作。例如,Python有`pyodbc`或`pymysql`库可以用来连接SQL Server或MySQL等...

    SQL注入语句

    标题与描述概述的知识点主要围绕SQL注入技术,这是一种常见的安全攻击方式,攻击者通过将恶意SQL代码注入到应用程序中,从而获取对数据库的未授权访问。以下是对这些知识点的详细解释: 1. **返回数据库名**:"and ...

    hibernate主键生成策略

    【hibernate主键生成策略】是Hibernate框架中用于生成持久化对象主键的重要机制,它决定了如何在数据库中创建唯一的标识符。在SSH(Spring、Struts、Hibernate)架构中,Hibernate作为持久层框架,主键生成策略的...

    oracle总结的sql语句大全

    ### Oracle SQL语句大全知识点详解 #### 创建表与数据初始化 - **`CREATE TABLE`**:用于创建新表。示例中的代码`CREATE TABLE temp AS SELECT * FROM emp WHERE 1=2;`创建了一个名为`temp`的新表,并通过一个没有...

    c# 反射获取传入对象的属性拼接sql语句实现增、删、改、查

    利用反射动态拼接sql。 daohelper属于DAL层,objectdata类属于BLL层,BLL层引用DAL层。映射数据的表继承objectdata类。例如,数据表book,根据字段与属性一一对应的方式创建book类,插入数据库时,直接book.save()

    sql 语句的用法示例

    - `save filename`:保存当前会话中的 SQL 语句到文件。 - `get filename`:加载并执行存储在文件中的 SQL 语句。 - **格式设置**: - `set linesize <size>`:设置每行字符的最大宽度。 - `set pagesize ...

    sql注入合集.txt

    ### SQL注入技术详解:针对MS SQL Server的手动与自动化攻击方法 #### 一、SQL注入简介 SQL注入是一种常见的安全漏洞,黑客通过在输入数据中插入恶意SQL代码,利用应用程序未进行有效过滤的情况下执行非法数据库...

    浅谈PL/SQL批处理语句:BULK COLLECT与FORALL对优化做出的贡献

    - FORALL 语句还可以与 `SAVE EXCEPTIONS` 配合,处理批处理过程中的错误。 3. **上下文切换与性能优化**: - 每次PL/SQL调用SQL引擎进行数据处理时,都会发生上下文切换,这会产生额外的时间和资源消耗。BULK ...

Global site tag (gtag.js) - Google Analytics