0 0

SSH,不支持从 date 到 BINARY 的转换20

用到hibernate取出带日期date类型的数据时候 报错提示:不支持从 date 到 BINARY 的转换 我没有把他转换成二进制啊?难道系统hibernate将取出的值自动保存为二进制吗
具体错误代码如下,然后是java代码,谢谢
org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [select calendar_t0_.Cale_id as Cale1_1_, calendar_t0_.Year_Begin as Year2_1_, calendar_t0_.Year_End as Year3_1_, calendar_t0_.Weeks as Weeks1_, calendar_t0_.Weeks_Begin as Weeks5_1_, calendar_t0_.Weeks_End as Weeks6_1_ from T_SchoolYear calendar_t0_ where calendar_t0_.Year_Begin='2013' and calendar_t0_.Year_End='2014']; SQL state [null]; error code [0]; 不支持从 date 到 BINARY 的转换。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 不支持从 date 到 BINARY 的转换。
    org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
    org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    org.springframework.orm.hibernate3.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:424)
    org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:410)
    org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
    org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
    org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:912)
    org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:904)
    com.MG.dao.Calendar_tDAOImpl.selectCale(Calendar_tDAOImpl.java:22)
    com.MG.service.Calendar_tServiceImpl.selectCale(Calendar_tServiceImpl.java:30)
    com.MG.action.CourseInAction.execute(CourseInAction.java:250)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:601)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:450)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:289)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:252)
    org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
    org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:139)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:562)
    org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
 
root cause

下面贴出错位置的语句如下
public calendar_t selectCale(int year_Begin, int year_End) {
        // TODO Auto-generated method stub
        String sql_="from calendar_t t where t.Year_Begin='"+year_Begin+"' and t.Year_End='"+year_End+"'";
        calendar_t aa=  (calendar_t) ((Query) this.getHibernateTemplate().find(sql_)).uniqueResult();//应该用list保存
        return aa;
         
    }

calendar_t calen=calendar_tService.selectCale(Year_Begin, Year_End);
        List<calendar_t> schoolbegindatelist=calendar_tService.findcalendar(Year_Begin, Year_End);/

查询语句中没有把date转换binary,控制台能打印hibernate语句,但是会报无法将date转换为binary。缓存没开,有无朋友知道什么原因,不甚感激!
2014年4月07日 19:59

4个答案 按时间排序 按投票排序

0 0

1.public calendar_t selectCale(int year_Begin, int year_End) { 
2.        // TODO Auto-generated method stub 
3.        String sql_="from calendar_t t where t.Year_Begin='"+year_Begin+"' and t.Year_End='"+year_End+"'"; 
4.        calendar_t aa=  (calendar_t) ((Query) this.getHibernateTemplate().find(sql_)).uniqueResult();//应该用list保存 
5.        return aa; 
6.          
7.    } 


t.Year_Begin是个什么类型?calendar_t selectCale(int year_Begin, int year_End) 从你传入的参数看是个整数类型,那么数据库中对应的该字段也是整数类型吗?感觉问题应该出在这里

2014年4月09日 09:59
0 0

看看数据库字段的设置是不是date类型

2014年4月08日 11:26
0 0

可能是Date里面有空值造成的,试试加入ISNULL(field,<null replacement date>)

2014年4月08日 00:49
0 0

你把下面语句放到客户端里去执行,看是不是有问题
select calendar_t0_.Cale_id as Cale1_1_, calendar_t0_.Year_Begin as Year2_1_, calendar_t0_.Year_End as Year3_1_, calendar_t0_.Weeks as Weeks1_, calendar_t0_.Weeks_Begin as Weeks5_1_, calendar_t0_.Weeks_End as Weeks6_1_ from T_SchoolYear calendar_t0_ where calendar_t0_.Year_Begin='2013' and calendar_t0_.Year_End='2014'

2014年4月07日 22:27

相关推荐

    nvarchar binary数据类型转换

    `binary`数据类型则用于存储固定长度的二进制数据,长度范围从1到8000字节。这种数据类型常用于存储图片、文档或其他非文本格式的数据。由于`binary`不理解字符编码,因此它不能直接处理字符串。 在SQL Server中,...

    二进制与字符串之间的转换类CBinary

    4. **写入二进制文件**:与读取相对,`CBinary`类可能还支持将内存中的二进制数据写入文件,创建或更新二进制文件。 5. **数据压缩与解压缩**:为了节省存储空间或提高传输效率,二进制数据可能需要进行压缩。`C...

    文本到二进制的转换(用binary.ocx进行加密)

    文本到二进制的转换是计算机科学中的基本操作,它涉及到数据编码的不同形式。在计算机系统中,所有信息最终都以二进制形式存在,即0和1的组合。这个过程通常用于数据存储、网络传输以及加密等领域。在这个场景中,...

    文本格式的xml plist与binary plist格式互相转换工具

    支持将苹果的plist二进制文件转换为json格式,无需调用plutil。 命令行调用方法: 方法1、不指定输出文件,默认以输入文件改名 plistConverter -i xxx.plist 方法2、指定输出文件 plistConverter -i xxx.plist -o ...

    Zemax使用Binary-2面型设计案例,How-to-use-Binary-2.zip

    在光学设计领域,Zemax是一款广泛使用的光学设计软件,它提供了强大的工具来模拟和优化各种...通过学习这个案例,光学设计师可以掌握如何利用Binary-2面型进行创新的光学设计,并将这种方法应用到实际的光学系统中。

    cef-binary-114-windows64支持h264视频播放

    标题中的“cef-binary-114-windows64支持h264视频播放”指的是CEF(Chromium Embedded Framework)的一个特定版本114,为Windows 64位平台提供了H264视频编码的支持。CEF是一个开源框架,允许开发者在他们的应用程序...

    cef_binary_3.2623.1401 重编译支持Mp3、Mp4

    CEF,全称Chromium Embedded Framework,是一个开源框架,它允许开发者将Google Chrome浏览器的核心功能嵌入到他们的应用程序中。CEF3是CEF的一个版本,提供了更轻量级的接口和优化的性能,适用于多种编程语言,包括...

    利用计算机基础语言进制转换.docx

    进制转换是指将一个数从一个进制转换到另一个进制的过程。常见的进制有二进制(binary)、八进制(octal)、十进制(decimal)和十六进制(hexadecimal)等。在计算机编程中,进制转换是一个非常重要的概念,因为...

    Binary Converter NET(二进制转换器)

    二进制转换器是一种实用工具,主要用于在不同的数值系统之间进行转换,尤其是从十进制、十六进制、八进制等转换到二进制和反向转换。在信息技术和计算机科学中,二进制(Binary)是基本的数据表示方式,所有计算机...

    ssh保存图片到数据库

    在这个场景中,“ssh保存图片到数据库”指的是使用SSH框架将图片数据存储到数据库中,以便于在应用中进行管理和展示。通常,这涉及到几个关键步骤: 1. **读取图片**:首先,你需要一个用户接口来上传图片,可能是...

    cef-binary-109 支持mp3,mp4,h264

    cef109 支持mp3,mp4,h264 最后支持win7的cef版本 cef_binary_109.1.18+gf1c41e4+chromium-109.0.5414.120_windows32.tar.bz2 cef_binary_109.1.18+gf1c41e4+chromium-109.0.5414.120_windows64.tar.bz2

    cef_binary2

    集成chrome 内核收集到的 cef_binary , 包含cef 1x,2x,41,43 版本。 具体看 https://www.spotify.com/sg-en/opensource/ cef 对应 chrome版本 cef_binary_3.2357.1271.g8e0674e_windows32 cef_binary_3....

    cef_binary_3.2623.1397重编译支持mp4支持xp

    标题“cef_binary_3.2623.1397重编译支持mp4支持xp”揭示了这个压缩包包含的是CEF(Chromium Embedded Framework)的一个特定版本,即3.2623.1397,它经过了特别的重编译以增强其功能。CEF是一个开源框架,它允许...

    深圳证券交易所Binary行情数据接口规范(Ver1.03)_深交所binary行情_

    综上所述,《深圳证券交易所Binary行情数据接口规范(Ver1.03)》是一份详细的技术文档,涵盖了从数据格式、传输协议到错误处理等多个方面,是开发人员实现与深证交易所行情系统对接的重要参考资料。通过深入理解和...

    BCD.rar_binary to bcd vhdl_vhdl BCD_vhdl转换BCD码_vhdl进制转换_二进制 BCD

    从二进制到BCD的转换涉及到位权的重新分配,因为二进制数的每一位权重是2的幂,而BCD码则需要将这个权重转换成10的幂。转换过程通常分为以下几步: 1. 将输入的二进制数转换为十进制。 2. 对于每一位十进制数,将其...

    xml binary soap 序列化

    在XML和SOAP上下文中,序列化是将对象转换为XML或二进制SOAP消息的过程,反序列化则是将接收到的消息转换回对象。这个过程对于Web服务的客户端和服务器端通信至关重要,确保数据的准确传递。 4. 使用场景:XML二...

    change string to binary.zip_Change_labview格式转换

    字符串到二进制的转换涉及到两种数据类型的转换:从字符串(String)到二进制数组(Array of Bytes)。 6. **使用和调试VI**: - 使用VI时,确保输入符合VI的要求,例如字符串格式和长度。 - 调试时,可以利用...

    注册表字符串值转换二进制值工具

    这款工具不支持中文字转换.其优点是可以把转换过来的值直接复制.免去了我们到注册表里面转换来一个一个的对比的麻烦.推荐做注册表合并工具的人使用...

    ftp的ASCII模式和Binary模式的区别

    因此,当使用ASCII模式从UNIX的FTP Server下载文件到Windows系统时,FTP客户端会自动将每个检测到的0A字节转换为0D0A,以确保文本文件在目标系统上的正确显示。 然而,这种转换对于非文本文件,如可执行文件、图片...

    BinaryEditor

    通过直观的界面,开发人员能够轻松查看和编辑二进制数据,对于需要深入探究文件内部结构的工作场景,BinaryEditor是一个不可或缺的工具。其强大的功能和易用性,使得二进制文件的分析和调试变得更加简单。

Global site tag (gtag.js) - Google Analytics