配置oracle方言类,Oracle环境下的Hibernate方言配置
一、环境
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方言配置相关推荐
- php 配置远程调试,PHP Linux 环境下搭建 XDEBUG并配置远程调试
在网站 https://xdebug.org/download.php 找到对应PHP版本的XDEBUG下载,下载时选择source版本 image 获取下载地址## 下载打包的源码 wget htt ...
- OpenVINO之二:Windows环境下OpenVINO安装与配置
OpenVINO系列: OpenVINO之一:OpenVINO概述 OpenVINO之二:Windows环境下OpenVINO安装与配置 OpenVINO之三:Linux环境下OpenVINO安装与配 ...
- java aarch64_aarch64环境下,搭建并配置服务器tomcat:
aarch64环境下,搭建并配置服务器tomcat: 环境说明及下载相关文件: 1. ARM环境:aarch64开发板 2.JDK安装包: jdk-8u231-linux-arm64-vfp-hflt ...
- ubuntu环境下redis的安装配置
ubuntu环境下redis的安装配置 1. 简要介绍 dis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表 ...
- 每天一个脱发小技巧 | Eclipse环境下spotbugs的安装配置和详细使用方法
每天一个脱发小技巧 | Eclipse环境下spotbugs的安装配置和详细使用方法 SpotBugs介绍 Eclipse环境下SpotBugs安装 SpotBugs的使用 其他 SpotBugs介绍 ...
- 帧中继环境下NBMA模式的配置
帧中继环境下NBMA模式的配置 1. 实验目的: 通过本次的实验,我们可以掌握如下技能 1) 帧中继静态映射及其broadcast参数的含义. 2) NBMA模式下的DR ...
- 实验七:Xen环境下cirrOS的安装配置
实验名称: Xen环境下cirrOS的安装配置 实验环境: 这里的cirrOS和实验六中的busybox的启动方式相同,唯一的区别就是我们使用的cirrOS镜像中,已经包含了根文件系统.内核文件以及r ...
- Linux 环境下安装 GitLab 与配置
什么是 GitLab? GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务. GitLab的功能特点 提供了管理,计划,创建,验证,打 ...
- Linux环境下安装tomcat并配置开机自启
Linux环境下安装tomcat并配置开机自启 1. 将tomcat压缩包复制到Linux中,(这里复制到usr/local/tomcat目录下). 2. 使用tar zxvf apache-tomc ...
- 分支过程灭绝概率matlab,某类遗传环境下的两性分支过程:有关伴Y基因的灭绝概率问题...
某类遗传环境下的两性分支过程: 有关伴 ! 基因的灭绝概率问题! 刘 宣 刘经农 苗秀金(中南大学数学科学与计算技术学院,长沙,"#$$%&) 摘 要 本文在文献[']的基础上研究了 ...
最新文章
- Python基础学习!容器:列表,元组,字典与集合!(2)
- Python基础教程:一个单列split转换为多行的练习题
- 使用多个struts-config配置文件,模块化
- 硬件密码组件的硬件结构、作用及实现应用设计
- WinForm支持拖拽效果
- 幻侠修仙服务器维护,幻侠修仙常见问题_幻侠修仙问答_疑难解答_九游手机游戏...
- NOI数学:莫比乌斯变换
- 解读年度数据库PostgreSQL:如何处理并发控制(一)
- java el 函数_javaweb基础(30)_EL函数库
- 一些值得注意的算法题——哈希表
- html css 圆形按钮 仿uc,10款基于jquery的web前端动画特效
- java路径Java开发中获得非Web项目的当前项目路径
- Reader 与 Guava MultiReader
- 【转载】在windows上部署使用Redis
- 一看就懂-grep命令详解
- canvas动画之三 -- 黑客帝国文字掉落效果
- 步进电机之步进电机驱动器使用说明
- 霍树棠《忆真妃》又名《剑阁闻铃》
- 2020年10种最佳移动开发编程语言
- 【Python】开发笔记