- 浏览: 408630 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (318)
- js (20)
- JQuery (2)
- Java (46)
- Oracle (4)
- mysql (21)
- ExtJs (17)
- Excel (2)
- Linux (8)
- Sql (8)
- Jsp (2)
- hibernate (12)
- jbpm (17)
- eclipse (8)
- 名博收藏 (1)
- Junit (2)
- 应用集成 (3)
- web (10)
- jboss (3)
- Rest (3)
- 其它 (7)
- 磁盘分区管理 (1)
- spring (18)
- SSO (4)
- tomcat (4)
- CSS (7)
- MemCached (6)
- EhCache (4)
- weblogic (1)
- apache (6)
- Exception design (1)
- db (1)
- 分析模式 (1)
- jstl (1)
- jsf (0)
- firefox (2)
- MongoDB (4)
- androidpn (1)
- hadoop (1)
- cvs (1)
- 微信公众号 (2)
- 高并发 (4)
- 技术论坛 (1)
- CDN (1)
- JVM (16)
- 加密 (4)
- maven (2)
- jenkins (1)
- hessian (1)
- 大数据处理 (2)
- NIO (0)
- netty (1)
- redis (1)
- git (1)
- Elastic Job (0)
最新评论
-
zgw06629:
或者<pre>aaaabbbbcccc</p ...
javaDoc注释换行 -
ddnzero:
...
StringBuffer换行 -
maosijun:
。。。。
EXT CExt.form.ComboBox选择一次后只剩一个选项 -
ysa198584:
你这有问题,当我的代码出现User.class的时候,反编绎的 ...
java的class文件批量反编译 -
dongj0325:
看到您的博客,很受启发,但还有关于jbpm4.4 timer使 ...
JBPM定时器(Timer)之Repeat属性不能使用变量
mysql varchar长度过大引起hibernate原生态SQL错误:No Dialect mapping for JDBC type: -1错误的解决方法
- 博客分类:
- mysql
先把异常抛出来:
Hibernate: select sum(num) from ( select count(*) as num from cm_facility_wrong as fw left outer join cm_conf as cf on fw.faw_room_id=cf.conf_id left outer join cm_facility as f on fw.fa_id=f.fa_id where 1=1 and fw.faw_room_type=0 union all select count(*) as num from cm_facility_wrong as fw left outer join cm_classroom as cr on fw.faw_room_id=cr.cr_id left outer join cm_facility as f on fw.fa_id=f.fa_id where 1=1 and fw.faw_room_type=1 ) as t
Hibernate: select fw.faw_id,fw.faw_room_id,fw.faw_room_type, fw.fa_id,fw.faw_type,fw.faw_desc,fw.faw_time,fw.faw_man, fw.faw_r_company,fw.faw_man,fw.faw_phone,fw.faw_r_time, fw.faw_memo,fw.faw_state, cf.conf_name,f.fa_no,f.fa_name from cm_facility_wrong as fw left outer join cm_conf as cf on fw.faw_room_id=cf.conf_id left outer join cm_facility as f on fw.fa_id=f.fa_id where 1=1 and fw.faw_room_type=0 union all select fw.faw_id,fw.faw_room_id,fw.faw_room_type, fw.fa_id,fw.faw_type,fw.faw_desc,fw.faw_time,fw.faw_man, fw.faw_r_company,fw.faw_man,fw.faw_phone,fw.faw_r_time, fw.faw_memo,fw.faw_state, cr.cr_name,f.fa_no,f.fa_name from cm_facility_wrong as fw left outer join cm_classroom as cr on fw.faw_room_id=cr.cr_id left outer join cm_facility as f on fw.fa_id=f.fa_id where 1=1 and fw.faw_room_type=1 limit ?
WARN - Unhandled Exception thrown: class org.hibernate.MappingException
2009-6-24 20:40:15 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
at org.hibernate.dialect.TypeNames.get(TypeNames.java:56)
at org.hibernate.dialect.TypeNames.get(TypeNames.java:81)
at org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:370)
at org.hibernate.loader.custom.CustomLoader$Metadata.getHibernateType(CustomLoader.java:559)
at org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.performDiscovery(CustomLoader.java:485)
at org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:501)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1796)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
at net.bolue.other.dao.impl.CmFacilityWrongDAOImpl.findAll(CmFacilityWrongDAOImpl.java:93)
at net.bolue.other.service.impl.CmFacilityWrongServiceImpl.findAll(CmFacilityWrongServiceImpl.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy33.findAll(Unknown Source)
at net.bolue.other.action.CmFacilityWrongAction.findByAll(CmFacilityWrongAction.java:212)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)
由于此查询语句需要使用union语句,因此必须要用原生态的SQL来写.在表中有两个字段类型为varchar,长度我都设为1000.
结果做这个查询时就出了问题,SQL语句hibernate已经运行出来了,说明SQL语句写的没有问题,后来google了半天,在中文google里找了找,也有写报类似错误的,但是都没有出现我这个type: -1错误,于是就google英文页面,找到了一篇介绍这个解决办法的文章:http://opensource.atlassian.com/projects/hibernate/browse/HHH-1483,还是英文google资料多而且准啊.
出现这个原因是说hibernate中mysql的varchar类型与数据库中的varchar类型不能对应起来,因此只要在Hibernate里把对应的数据类型成功映射起来就可以成功执行了。
解决方法如下:
import java.sql.Types;
import org.hibernate.Hibernate;
public class MySQL5Dialect extends org.hibernate.dialect.MySQL5Dialect {
public MySQL5Dialect() {
super();
// register additional hibernate types for default use in scalar
// sqlquery type auto detection
registerHibernateType(Types.LONGVARCHAR, Hibernate.TEXT.getName());
}
}
新建一个MySQL5Dialect类,然后在hibernate配置文件或spring配置文件中将hibernate.dialect改成刚才写的那个就可以了.如
<prop key="hibernate.dialect">xxx.util.MySQL5Dialect</prop>
总结:当在hibernate中使用原生态的SQL时,如果在数据库varchar的字段的长度设为过大(比如说为1000)的话,那么就需要自己补充注册新的类型映射,不光是varchar类型,其它类型字段设置过大也会有这样的问题,比如说decimal类型等等,同样也是按这种方法来解决.
hibernate有时还真有点搞人的.
http://hi.baidu.com/sunjsp/blog/item/fa7b57efe4a7b8e6ce1b3eb1.html
发表评论
-
Mysql Too Many Open Files彻底解决办法
2017-02-09 18:19 5029Mysql Too Many Open Files彻底解决办 ... -
mysql快速执行超大sql脚本方法
2015-07-16 16:09 1626使用mysql数据库时,经常会碰到这个问题,特别是sql脚本 ... -
使用MySQL Proxy解决MySQL主从同步延迟
2015-05-13 11:14 510使用MySQL Proxy解决MySQL ... -
数据库sharding(scale up to scale out)
2012-11-16 10:53 655转自:http://eddysheng.iteye.com/b ... -
构建高性能web之路------mysql读写分离实战
2012-11-16 10:37 1043转自:http://blog.csdn.net/cutesou ... -
MySQL主从服务器的原理和设置
2012-11-16 10:24 754一 主从配置的原理 mysql的Replic ... -
MySQL索引分析和优化
2012-04-10 11:02 702什么是索引? 索引用 ... -
MySQL分区表的使用介绍
2012-04-10 10:27 1167MySQL使用分区表的好处: 1,可以把一些归类的数据放在一 ... -
[Err] 1153 – Got a packet bigger than ‘max_allowed_packet’ bytes
2011-10-10 19:07 891mysql> show global variables ... -
2006 - MySQL server has gone away
2011-10-10 19:05 1301命令:show global variables like ' ... -
Mysql索引
2010-02-23 17:30 994行, 表及文件 每个文件可以划分为数据页(Data ... -
MySQL索引类型一览 让MySQL高效运行起来
2010-02-08 10:08 2679本文介绍了七种MySQL ... -
MySQL中的ORDER BY排序实现方式
2010-02-08 09:51 1295总的来说,在 MySQL 中的ORDER BY有两种排序 ... -
MySQL导入导出.sql文件
2010-02-04 14:37 762MySQL导入导出: http://blog.csdn.ne ... -
Mysql:InnoDB行锁特点
2010-02-03 14:13 938InnoDB行锁特点: http://blog.chin ... -
Mysql:ROW_COUNT()返回前一个SQL进行UPDATE,DELETE,INSERT操作所影响的行数
2010-02-03 14:09 5514在Mysql中ROW_COUNT()返回前一个SQL进行UPD ... -
JDBC调用存储过程详解
2010-02-01 14:47 852最近用到在JDBC中调用Mysql存储过程: try { ... -
Mysql:存储过程中动态SQL返回多个值的写法
2010-01-30 17:48 2950DROP PROCEDURE IF EXISTS TEST; ... -
MySQL错误:Out of range value adjusted for column ...
2010-01-30 17:24 2073写Mysql存储过程时碰见了这样的错误:Out of rang ... -
“0x005346c4”指令引用的“0x00786000”内存,该内存不能为读
2009-11-08 10:43 1949Mysqld-nt.exe应用程序错误: “0x00534 ...
相关推荐
主要介绍了Mysql中varchar长度设置方法的相关资料,本文还给大家带来了valar类型的变化及char()和varchar()的区别介绍,非常不错,具有参考借鉴价值,需要的朋友可以参考下
主要介绍了MySQL动态修改varchar长度的方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
在C:\Program Files\Java目录下建立mysqlforjdbc子目录,进入该目录将mysql-connector-java-5.1.30-bin.jar到该目录下 进入C:\Program Files\Java\jdk1.7.0_04\lib目录将mysql-connector-java-5.1.30-bin-g.jar拷贝...
mysql,jdbc,Hibernate,tomcat [mysql+jdbc+jsp+Hibernate3.2+tomcattomcat5.028成功测试-简单] <br> 1 .数据库设计:库mydb 表events <br>EVENT_ID BIGINT(20) NOT NULL AUTOINC EVENT_DATE DATETIME...
如果被 varchar 超过上述的 b 规则,被强转成 text 类型,则每个字段占用定义长度为 11 字节,当然这已经不是 varchar 了
SQL> select acos(-1) from dual; ACOS(-1) --------- 3.1415927 17.ASIN 给出反正弦的值 SQL> select asin(0.5) from dual; ASIN(0.5) --------- .52359878 18.ATAN 返回一个数字的反正切值 SQL> ...
/* Navicat MySQL Data Transfer Source Server : localhost Source Server Version : 50137 Source Host : localhost:3306 Source Database : chronic manage Target Server Type : MYSQL Target Server Version : ...
MySQL入门学习(1)。 MySQL入门学习(1) · 安装篇 PHP+MySQL+Linux目前已逐渐成为小型web服务器的一种经典组合。在indows环境下构筑和调试MySQL数据库是许多网站开发者的一种首选。本人在Windows98环境下...
对 Hibernate 初体验 1.新建一个java工程,工程名为Hiberante1 2.导入相应的jar包 1)hibernate需要导入这些包 2)因为我们需要操作数据库所以要导入数据库的包,我用的mysql数据库 3.创建数据库以及表 ...
hibernate-release-5.0.2.Final spring-framework-4.2.1.RELEASE 数据库是 mysql 数据库的连接符 jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=UTF-8 放在jdbc.properties 文件中 ...
SQL脚本 /* Navicat MySQL Data Transfer Source Server : MySQL Source Server Version : 50022 Source Host : 127.0.0.1:3306 Source Database : zhaochao Target Server Type : MYSQL Target Server Version :...
T-SQL中级教程,包括PPT、学习笔记及课后作业,非常经典的教程 --建库之前先建路径的代码 exec xp_cmdshell'mkdir d:\mydata', --也可以用exec xp_cmdshell'md d:\mydata' no_output exec xp_cmdshell'rd d:\...
hive-jdbc修改,在使用本jdbc时会记录相应的sql语句到mysql中。便于后期的sql统计优化。 原始版本: org.apache.hive hive-jdbc 0.13.1-cdh5.2.0 驱动名称:com.udps.hive.jdbc.HiveDriver mysql中表的建表语句: ...
用固定框架来,和数据库来做的,-- MySQL dump 9.09 -- -- Host: localhost Database: ch3 -- ------------------------------------------------------ -- Server version 4.0.16-nt -- -- Table structure for ...
jdbc: 1.数据库连接的方式: ODBC:开放式数据库连接。 C语言实现的,提供语言和(基于SQL的)数据库进行交互的“一致性”的接口 JDBC:java版本的ODBC JDBC连接数据库的步骤: 1.注册驱动(加载驱动): 注册...
附件名称:gk_diqu.sql 附件用途:制作省市区三级级联菜单数据来源 简单介绍:文件gk_diqu.sql内含数据库表 gk_diqu。 数据结构: mysql> desc gk_diqu; +-------+----------------------+------+-----+---------+-...
Target Server Type : MYSQL Target Server Version : 50018 File Encoding : 65001 Date: 2013-02-27 21:23:33 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `user` -...
1.目的:总结JDBC,和Servlet JSP结合到一起。 2.开发中的一些小技巧。 3.客户管理平台功能 * 添加客户 * 查询所有的客户的信息 * 修改客户信息 * 删除客户信息 * 按条件查询 * 分页查询数据 4.准备环境 5....