如果Oracle数据库中用到了Hibernate的表示User的话是会报错的、因为Oracle中的User是一个关键字。而此时我们解决的话有两种:当然column如果冲突了关键字也是这样去改的。
1、 改掉对应的表名:如下面的table配置
<hibernate-mapping
package="cn.hibernate.model">
<!—原来的table叫user我们将表明改掉为别的名字 -->
<class name="User" table="user1">
<!-- id表示主键,而name=id指的是类里面的属性。也就是主键对应的属性
unsaved-value设定它是否为瞬时对象的设定。默认会为下面的这个值
-->
</class>
</hibernate-mapping>
2、 或者用转义(反引号): 如下面的table指定的。这里的反引号就是键盘上1前面的那个键位
<hibernate-mapping
package="cn.hibernate.model">
<!—原来的table叫user我们将表明改掉为别的名字 -->
<class name="User" table="`user`">
<!-- id表示主键,而name=id指的是类里面的属性。也就是主键对应的属性
unsaved-value设定它是否为瞬时对象的设定。默认会为下面的这个值
-->
</class>
Hibernate入门BLOG [六、Hibernate的关键字总结]
解决Oracle数据库中使用Hibernate User关键字引发的冲突问题
最新推荐文章于 2021-01-19 02:21:12 发布
本文详细介绍了在Oracle数据库环境中,当使用Hibernate管理对象时遇到与数据库关键字冲突的情况,并提供了两种解决方案:一是修改表名,二是使用转义(反引号)来指定表名。通过实例演示了如何在配置文件中进行相应的调整。

146

被折叠的 条评论
为什么被折叠?



