Caused by: java.sql.SQLException: 无效的列类型: 16 及oracle 方言选择问题。
2016-08-04 16:45
567 查看
Caused by: java.sql.SQLException: 无效的列类型: 16
oracle,hibernate 保存数据时提示的错误。 is_deleted 默认值为 0 ,没有主动赋值给他。保存时报错。但是另外的类就没问题。 但是两者的写法,一个是注解写在私有变量上,一个是写在属性上面,难道和这个有关系?测试了一下,也不行。后来经过比较发现是没有下面这两个属性,加上即可。。
@DynamicInsert(true)
@DynamicUpdate(true)
但是又有一个新问题。我需要主动更新null值到某个字段,然后还是会报这个错误。
网上查了一下,把
hibernate.dialect 由org.hibernate.dialect.OracleDialect 改为 org.hibernate.dialect.Oracle9iDialect 。居然可以了。。。
参考网站:
http://stackoverflow.com/questions/27154954/boolean-column-type-nullable-true-in-hibernate
具体哪个版本的oracle用哪个方言的,下面的表:
可是到底用OracleDialect还是什么9i,10g呢。区别查了一下。
网上这么说的:
网址:http://www.oschina.net/question/135225_21203
8i和9都继承至Dialect,而9i继承8i,10i继承9i的方言,增加些新的特性,分页代码实现不太一样,不过效率不相上下。
还有需要注意的是,对应的方言和对应的hibernate版本要匹配。
参考:http://stackoverflow.com/questions/4369944/hibernate-dialect-for-oracle-database-11g
Use
the Oracle 10g dialect. Also Hibernate 3.3.2+ is required for recent JDBC drivers (the internal class structure changed - symptoms will be whining about an abstract class).
用10g的方言 需要hibernate3.3.2版本以上。
oracle,hibernate 保存数据时提示的错误。 is_deleted 默认值为 0 ,没有主动赋值给他。保存时报错。但是另外的类就没问题。 但是两者的写法,一个是注解写在私有变量上,一个是写在属性上面,难道和这个有关系?测试了一下,也不行。后来经过比较发现是没有下面这两个属性,加上即可。。
@DynamicInsert(true)
@DynamicUpdate(true)
但是又有一个新问题。我需要主动更新null值到某个字段,然后还是会报这个错误。
网上查了一下,把
hibernate.dialect 由org.hibernate.dialect.OracleDialect 改为 org.hibernate.dialect.Oracle9iDialect 。居然可以了。。。
参考网站:
http://stackoverflow.com/questions/27154954/boolean-column-type-nullable-true-in-hibernate
具体哪个版本的oracle用哪个方言的,下面的表:
可是到底用OracleDialect还是什么9i,10g呢。区别查了一下。
网上这么说的:
网址:http://www.oschina.net/question/135225_21203
8i和9都继承至Dialect,而9i继承8i,10i继承9i的方言,增加些新的特性,分页代码实现不太一样,不过效率不相上下。
还有需要注意的是,对应的方言和对应的hibernate版本要匹配。
参考:http://stackoverflow.com/questions/4369944/hibernate-dialect-for-oracle-database-11g
Use
the Oracle 10g dialect. Also Hibernate 3.3.2+ is required for recent JDBC drivers (the internal class structure changed - symptoms will be whining about an abstract class).
用10g的方言 需要hibernate3.3.2版本以上。
相关文章推荐
- Caused by: Java.sql.SQLException: 无效的列类型: 16 问题
- Caused by: Java.sql.SQLException: 无效的列类型: 16 问题
- Caused by: Java.sql.SQLException: 无效的列类型: 16 问题
- 数据库连接问题之:Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!
- 用oracle时sql报错:java.sql.SQLException: 无效的列类型
- mybatis向oracle添加数据报:java.sql.SQLException: 无效的列类型: 1111
- Oracle:Caused by: java.sql.SQLException: 流已被关闭
- Caused by: java.sql.SQLException: Operand should contain 1 column(s)
- Caused by: java.sql.SQLException: Operand should contain 1 column(s)
- Caused by: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0
- (解决--)Caused by: java.sql.SQLException: 无法转换为内部表示 .
- Oracle试用PreparedStatement出现java.sql.SQLException: 无效的列索引
- “java.sql.SQLException:指定了无效的 Oracle URL”的解决
- (解决)Caused by: java.sql.SQLException: 无法转换为内部表示
- java.sql.SQLException: 无效的列类型 PreparedStatement.setObject
- 一个问号引发的血案之程序员的职业素养(java.sql.SQLException: 无效的列索引问题)
- Oracle试用PreparedStatement出现java.sql.SQLException: 无效的列索引
- iBatis中报 java.sql.SQLException: 无效的列类型异常
- Caused by:java.sql.SQLException:ORA-00923
- Caused by: java.sql.SQLException: Field 'id' doesn't have a default value