hibernate在Oracle中插入数据,默认字段被设置为null的问题解决

参考内容:

http://blog.sina.cn/dpool/blog/s/blog_90629d5301014a5w.html

在数据库中一个字段的默认值为1,但是在插入数据后,本来该字段为空,值应该为1,但是实际值为空。

查看了一下日志中输出的语句,在插入改条数据时,首先执行insert语句,然后执行update语句,在update的时候,将该值更新为null。

解决办法:

在*.hbm.xml添加参数:

<*** dynamic-insert=‘true‘ dynamic-update=‘true‘>

原文地址:https://www.cnblogs.com/taiguyiba/p/8318225.html

时间: 2024-08-18 08:08:56

hibernate在Oracle中插入数据,默认字段被设置为null的问题解决的相关文章

MyBatis在Oracle中插入数据并返回主键的问题解决

引言:  在MyBatis中,希望在Oracle中插入数据之时,同时返回主键值,而非插入的条数... 环境:MyBatis 3.2 , Oracle, Spring 3.2   SQL Snippet in XML Configuration: <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType="

基于mybatis向oracle中插入数据的性能对比

数据库表结构: 逐条插入sql语句: <insert id="insert" parameterType="com.Structure"> INSERT INTO STRUCTURE( id, structureNAME, PARENTID, structureType, description, deptId, propertyCompanyId, sort, communityId) VALUES( #{id,jdbcType=VARCHAR}, #

如何使用myBatis在数据库中插入数据并返回主键

在MyBatis中,希望在Oracle中插入数据的同时返回主键值,而非插入的条数. ① oracle使用 selectKey. U_USER_INFO_SEQ 是在数据库中定义好的这张表关联的序列sequence, Nextval是获取自增的id <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType=&quo

解决getJdbcTemplate往oracle数据库中插入数据返回主键出错问题

我们使用Spring中的JdbcDaoSupport往Mysql中插入数据并返回主键代码,我们使用的mysql数据库,主键在数据库中设置为自增长:该类继承自JdbcDaoSupport,所以能直接使用getJdbcTemplate() public int saveUser(String userName,int age,String password){ getJdbcTemplate().update(new PreparedStatementCreator() { public Prepa

向Oracle数据库中插入数据出错:ORA-01036 无效的变量名或数据

向Oracle数据库中插入数据出错: 经过排查,因为Update数据时没有出错,所以OracleHelper没有问题: 看异常信息提示:无效的变量和数据,应该是SQL语句的问题,调试时所传的实例UserInfo数据是正确的,所以只能是SQL语句的问题: 曾今一度怀疑这样使用Sequence是错误的,中途变换了触发器,弄了变天触发器也些错误了, 再次回到直接用序列,仔细之下,终于发现这个分号‘:’,这里应该为‘:’,实在是太小了,很难发现,以后这里最好留一个空格.

oracle中的数据集合操作

一.数据更新操作 DML语法中主要包括两个内容:查询与更新,更新主要包括:增加数据.修改数据.删除数据.其中这些操作是离不开查询的.         1.增加数据 语法:INSERT INTO 表名称 [(字段名称1, 字段名称2,-)] VALUES(数据1,数据2-..): 注意:     1.对于字符串需要使用""括起来     2.对于时间可以使用to_date()进行转换     3.数字就直接写 范例:向myemp表中插入一条数据 INSERT INTO myemp(emp

Hive通过查询语句向表中插入数据过程中发现的坑

前言 最近在学习使用Hive(版本0.13.1)的过程中,发现了一些坑,它们或许是Hive提倡的比关系数据库更加自由的体现(同时引来一些问题),或许是一些bug.总而言之,这些都需要使用Hive的开发人员额外注意.本文旨在列举我发现的2个通过查询语句向表中插入数据过程中的问题,希望大家注意. 数据准备 为了验证接下来出现的问题,需要先准备两张表employees和staged_employees,并准备好测试数据.首先使用以下语句创建表employees: create table employ

向视图中插入数据的 注意事项

视图除了进行查询记录外,也可以利用视图进行插入.更新.删除记录的操作,减少对基表中信息的直接操作,提高了数据的安全性. 在视图上使用INSERT语句添加数据时,要符合以下规则. (1)使用INSERT语句向数据表中插入数据时,用户必须有插入数据的权利. (2)由于视图只引用表中的部分字段,所以通过视图插入数据时只能明确指定视图中引用的字段的取值.而那些表中并未引用的字段,必          须知道在没有指定取值的情况下如何填充数据,因此视图中未引用的字段必须具备下列条件之一.        

Hibernate在oracle中ID增长的方式

引用链接:http://blog.csdn.net/w183705952/article/details/7367272 Hibernate在oracle中ID增长的方式 第一种:设置ID的增长策略是sequence,同时指定sequence的名字,最好每个表建一个sequence,此种做法就如同MS-SQL,MY-SQL中的自动增长一样,不需要创建触发器,具体的Oracle数据库脚本及hibernate配置文件如下: [1]oracle数据表的创建脚本: Java代码  CREATE TABL