SSH,不支持从 date 到 BINARY 的转换
来源:互联网 发布:有首单立减的外卖软件 编辑:程序博客网 时间:2024/05/17 04:47
这个问题网上基本没有答案,google倒是有一个论坛有相同问题,但是解决方案不行,经过几天奋战,基本了解了。
首先,后台使用的是 struts2,hibernate3,spring3.4 具体问题提示请戳 http://bbs.csdn.net/topics/390750850
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 的转换。一个查询语句,里面并没有涉及到binary字段,实体类型也没有涉及binary,怎么会转换binary呢,第一猜想估计是hibernate将查询到的结果保存到缓存中,后查阅网上资料,发现hibernate默认一级缓冲是没开启的,二级缓冲我也没开,这个也就排除了。仔细查询资料 有人建议是将日期字段用ISNULL()函数将查询到的空date类型赋值,避免是查询空值的情况,但是我查询出来的值是有的,不存在空值,后面又查资料,找到java.hibernate sqlserver之间类型转换的文章,这才有点眉目,
如下:
六、hibernate映射类型
1.内置映射类型
Hibernate
java
sql
取值范围
integer int
int Integer
INTEGER
4
long
long Long
BIGINT
8
short
short Short
SMALLINT
2
byte
byte Byte
TINYINT
1
float
float Float
FLOAT
4
double
double Double
DOUBLE
8
big_decimal
java.math.BigDecinimal
NUMERIC
8位含2位小数部分
character
char Character String
CHAR(1)
定长字符
string
String
VARCHAR
变长串
boolean
boolean Boolean
BIT
布尔
yes_no
boolean Boolean
CHAR(1)
布尔
true_false
boolean Boolean
CHAR(1)
布尔
?
2.Java时间和日期类型
Hibernate
java
sql
取值范围
date
util.Date sql.Date
DATE
YYYY-MM-DD
time
util.Date sql.Time
TIME
HH:MM:SS
timestamp
util.Date sql.timestamp
TIMESTAMP
YYYYMMDDHHMMSS
calendar
java.util.Calendar
TIMESTAMP
YYYYMMDDHHMMSS
calendar_date
java.util.Calendar
DATE
YYYY-MM-DD
?
3. 大对象类型的映射
Hibernate
java
sql
binary
byte[]
VARBINARY(BLOB)
text
String
CLOB
serializable
实现类
BARBINARY(BLOB)
然后我将实体文件的sql.date类型改为util.date,数据库date,改为datetime 刚刚可以配好格式,也算不是办法的办法把,
至于为什么会出现binary类型转换,在处理日期的时候 我也不清楚,忘网友解答,不胜感激
- SSH,不支持从 date 到 BINARY 的转换
- 不支持从 OTHER 到 BINARY 的转换错误
- 2 从字符串到日期类型(Date类型)的转换
- imp导入时出现:不支持要求的字符集转换(从类型1到852)
- DB2不支持从源代码页 "1386" 到目标代码页 "1114" 的转换
- SQL state [null]; error code [0]; 不支持从 UNKNOWN 到 UNKNOWN 的转换
- SQL state [null]; error code [0]; 不支持从 UNKNOWN 到 UNKNOWN 的转换
- mssql在JDBC通用更新时出现 不支持从 UNKNOWN 到 UNKNOWN 的转换。
- org.springframework.jdbc.UncategorizedSQLException: 不允许从数据类型 varbinary 到 date 的隐式转换
- 在imp一个dmp文件的时候,提示不支持要求的字符集转换(从类型850到852)
- java string 到 date 类型的转换
- 【SSH商城】——Date、String、Timestamp之间的转换
- ART模式不支持odex到oat的转换
- 怎样解决thephile中的数据库由于排序造成的问题:对 text 数据类型不支持代码页转换。从: 1252 到: 936
- spring mvc前台时间字符串到后台Date的转换
- spring mvc前台时间字符串到后台Date的转换
- spring mvc前台时间字符串到后台Date的转换
- spring mvc前台时间字符串到后台Date的转换
- 杨氏矩阵的查找(二维数组中的查找——剑指offer3)
- 简单工厂模式,工厂方法模式和抽象工厂模式的异同
- 文献综述注意事项
- IOS6.0 应用内直接下载程序 不需跳转AppStore
- 第五周作业——有向图表示及反向图构造
- SSH,不支持从 date 到 BINARY 的转换
- Ubuntu10.10时间/时区设置
- Mysql error 1452 - Cannot add or update a child row: a foreign key constraint fails
- C语言允许数组下标是负数
- poj_1328 贪心
- 计数排序
- 存储过程的一些东西
- 让QQ的tadb.exe 不自动启动
- Ruby on Rails,数据库迁移命令和迁移任务编写