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

相关推荐

    Linux高级bash编程

    Du: DOS 到 UNIX 文本文件的转换. 12-21. rot13: rot13, 弱智加密. 12-22. Generating "Crypto-Quote" Puzzles 12-23. 格式化文件列表. 12-24. 使用 column 来格式化目录列表 12-25. nl: 一个自己计算行号的脚本. ...

    Advanced Bash-Scripting Guide <>

    Du: DOS 到 UNIX 文本文件的转换. 12-21. rot13: rot13, 弱智加密. 12-22. Generating "Crypto-Quote" Puzzles 12-23. 格式化文件列表. 12-24. 使用 column 来格式化目录列表 12-25. nl: 一个自己计算行号的脚本. ...

    linux 基本指令一览表

    以下是从给定文件中提取的部分常用Linux命令及其简要说明。 #### 1. Adduser/Addgroup - **Adduser**: 用于添加新用户到系统中。 - **Addgroup**: 用于创建新的用户组。 **示例:** ``` adduser newuser addgroup ...

    MYSQL培训经典教程(共两部分) 2/2

    DATE和TIMESTAMP类型 18 1.4.4.3 TIME类型 19 1.4.4.4 YEAR类型 20 1.4.5 字符串类型 20 1.4.5.1 CHAR和VARCHAR类型 21 1.4.5.2 BLOB和TEXT类型 23 1.4.5.3 ENUM和SET类型 24 1.4.6总结 26 ...

    MYSQL培训经典教程(共两部分) 1/2

    DATE和TIMESTAMP类型 18 1.4.4.3 TIME类型 19 1.4.4.4 YEAR类型 20 1.4.5 字符串类型 20 1.4.5.1 CHAR和VARCHAR类型 21 1.4.5.2 BLOB和TEXT类型 23 1.4.5.3 ENUM和SET类型 24 1.4.6总结 26 ...

Global site tag (gtag.js) - Google Analytics