一、环境

Oracle 11.2.0 XE

Hibernate4.x

Hibernate.cfg.xml中方言的配置:

org.hibernate.dialect.OracleDialect

POJO类:User

Java代码

package com.ssh.model;

public class User {

private long id;

private String name;

private int age;

private boolean man;

private Group group;

public long getId() {

return id;

}

public void setId(long id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public boolean isMan() {

return man;

}

public void setMan(boolean man) {

this.man = man;

}

public Group getGroup() {

return group;

}

public void setGroup(Group group) {

this.group = group;

}

}

伦理片http://www.dotdy.com/

POJO类User的hbm映射文件:

Xml代码

hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

测试代码:

Java代码

package com.ssh.model;

import org.hibernate.Session;

import org.junit.Test;

import com.ssh.model.User;

import com.ssh.util.HibernateUtil;

public class HibernateTest {

@Test

public void testSave() {

Session session = HibernateUtil.getSession();

session.beginTransaction();

User u = new User();

u.setName("lll");

u.setAge(22);

session.save(u);

session.getTransaction().commit();

HibernateUtil.closeSession(session);

}

}

二、问题及解决方法

执行上诉测试代码,抛如下异常:

10:21:35,545 DEBUG SchemaUpdate:226 - create table t_group (g_id number(19,0) not null, g_name varchar2(255), primary key (g_id))

10:21:35,553 DEBUG SchemaUpdate:226 - create table t_user (u_id number(19,0) not null, u_name varchar2(255), u_age number(10,0), u_man boolean, u_group number(19,0), primary key (u_id))

10:21:35,556 ERROR SchemaUpdate:236 - HHH000388: Unsuccessful: create table t_user (u_id number(19,0) not null, u_name varchar2(255), u_age number(10,0), u_man boolean, u_group number(19,0), primary key (u_id))

10:21:35,556 ERROR SchemaUpdate:237 - ORA-00902: 无效数据类型

从上诉的建表语句上看,u_man boolean明显不对,因为oracle是不支持boolean类型的,但是为什么hibernate没有主动做转换为oracle支持的数据类型呢?后来发现就是方言配置的有问题,当前环境下方言应该配置为:org.hibernate.dialect.Oracle10gDialect

从hibernate的官方文档上可以看到:

Oracle 10g and later org.hibernate.dialect.Oracle10gDialect

说明先前的方言已经不适用了。

当然,还有一种解决方法就是你可以不配置方言,这样hibernate会根据driver信息自动为我们这是默认的方言,不过我们不建议这样做。

配置oracle方言类,Oracle环境下的Hibernate方言配置相关推荐

  1. php 配置远程调试,PHP Linux 环境下搭建 XDEBUG并配置远程调试

    在网站 https://xdebug.org/download.php 找到对应PHP版本的XDEBUG下载,下载时选择source版本 image 获取下载地址## 下载打包的源码 wget htt ...

  2. OpenVINO之二:Windows环境下OpenVINO安装与配置

    OpenVINO系列: OpenVINO之一:OpenVINO概述 OpenVINO之二:Windows环境下OpenVINO安装与配置 OpenVINO之三:Linux环境下OpenVINO安装与配 ...

  3. java aarch64_aarch64环境下,搭建并配置服务器tomcat:

    aarch64环境下,搭建并配置服务器tomcat: 环境说明及下载相关文件: 1. ARM环境:aarch64开发板 2.JDK安装包: jdk-8u231-linux-arm64-vfp-hflt ...

  4. ubuntu环境下redis的安装配置

    ubuntu环境下redis的安装配置 1. 简要介绍 dis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表 ...

  5. 每天一个脱发小技巧 | Eclipse环境下spotbugs的安装配置和详细使用方法

    每天一个脱发小技巧 | Eclipse环境下spotbugs的安装配置和详细使用方法 SpotBugs介绍 Eclipse环境下SpotBugs安装 SpotBugs的使用 其他 SpotBugs介绍 ...

  6. 帧中继环境下NBMA模式的配置

    帧中继环境下NBMA模式的配置 1.  实验目的: 通过本次的实验,我们可以掌握如下技能 1)        帧中继静态映射及其broadcast参数的含义. 2)        NBMA模式下的DR ...

  7. 实验七:Xen环境下cirrOS的安装配置

    实验名称: Xen环境下cirrOS的安装配置 实验环境: 这里的cirrOS和实验六中的busybox的启动方式相同,唯一的区别就是我们使用的cirrOS镜像中,已经包含了根文件系统.内核文件以及r ...

  8. Linux 环境下安装 GitLab 与配置

    什么是 GitLab? GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务. GitLab的功能特点 提供了管理,计划,创建,验证,打 ...

  9. Linux环境下安装tomcat并配置开机自启

    Linux环境下安装tomcat并配置开机自启 1. 将tomcat压缩包复制到Linux中,(这里复制到usr/local/tomcat目录下). 2. 使用tar zxvf apache-tomc ...

  10. 分支过程灭绝概率matlab,某类遗传环境下的两性分支过程:有关伴Y基因的灭绝概率问题...

    某类遗传环境下的两性分支过程: 有关伴 ! 基因的灭绝概率问题! 刘 宣 刘经农 苗秀金(中南大学数学科学与计算技术学院,长沙,"#$$%&) 摘 要 本文在文献[']的基础上研究了 ...

最新文章

  1. Python基础学习!容器:列表,元组,字典与集合!(2)
  2. Python基础教程:一个单列split转换为多行的练习题
  3. 使用多个struts-config配置文件,模块化
  4. 硬件密码组件的硬件结构、作用及实现应用设计
  5. WinForm支持拖拽效果
  6. 幻侠修仙服务器维护,幻侠修仙常见问题_幻侠修仙问答_疑难解答_九游手机游戏...
  7. NOI数学:莫比乌斯变换
  8. 解读年度数据库PostgreSQL:如何处理并发控制(一)
  9. java el 函数_javaweb基础(30)_EL函数库
  10. 一些值得注意的算法题——哈希表
  11. html css 圆形按钮 仿uc,10款基于jquery的web前端动画特效
  12. java路径Java开发中获得非Web项目的当前项目路径
  13. Reader 与 Guava MultiReader
  14. 【转载】在windows上部署使用Redis
  15. 一看就懂-grep命令详解
  16. canvas动画之三 -- 黑客帝国文字掉落效果
  17. 步进电机之步进电机驱动器使用说明
  18. 霍树棠《忆真妃》又名《剑阁闻铃》
  19. 2020年10种最佳移动开发编程语言
  20. 【Python】开发笔记

热门文章

  1. Visualizing and Understanding Convolutional Networks论文解读
  2. jmeter需要学习的其他点
  3. JavaScript中实现深浅拷贝
  4. 【No.11 默认实参的匹配】
  5. Dockerfile best practices
  6. NYOJ 300 amp;amp; hdu 2276 Kiki amp; Little Kiki 2 (矩阵高速功率)
  7. Objective-C 常用结构体
  8. Keil MDK浮点数支持不正常的解决方案
  9. Yii框架多表查询(一对一与多对一)
  10. 一些有意思的博客收藏