Caused by: java.sql.SQLException: 无效的列类型: 16 及oracle 方言选择问题。

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版本以上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Caused by: java.sql.SQLException: 无效类型: 1111是一个数据库错误,表示在执行数据库操作时,尝试使用了无效类型 1111。这个错误通常是由于数据库中的类型与代码中定义的类型不匹配导致的。具体来说,可能是数据库中的类型与代码中的映射类型不一致,或者是数据库中的类型被修改或删除了。 要解决这个问题,可以尝试以下几种方法: 1. 检查代码中定义的类型和数据库中实际的类型是否一致。确保它们之间的映射关系正确无误。 2. 检查数据库表结构是否发生了变化。如果数据库中的类型被修改或删除了,需要相应地更新代码中的映射关系。 3. 检查数据库连接和驱动是否正确。确保使用的数据库连接和驱动与代码中的数据库操作兼容。 4. 如果以上方法都没有解决问题,可以尝试修改代码中的JdbcType设置。根据错误提示,尝试设置不同的JdbcType类型来适配数据库中的类型。 总之,Caused by: java.sql.SQLException: 无效类型: 1111是一个数据库错误,通常是由于数据库中的类型与代码中的映射关系不匹配导致的。通过检查代码和数据库表结构,以及适配JdbcType类型,可以解决这个问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Cause: java.sql.SQLException: 无效类型: 1111解决](https://blog.csdn.net/zhou_438/article/details/83476905)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [java.sql.SQLException: Invalid column type: 1111](https://blog.csdn.net/duzhe1991/article/details/126441988)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值