开发者社区> 问答> 正文

保存操作一直插入数据库不成功 怎么回事?

通过hibernate注解方式实现了实体属性和数据库表一一对应,

@Column(name="jysj")
@Temporal(TemporalType.TIMESTAMP)
private Date jysj;

数据库表中的字段类型
screenshot
然后保存接口里面就直接使用的是hibernate里面封装好的save方法
但是总是插入不成功,报告如下错误:

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 从字符串转换日期和/或时间时,转换失败。
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(Unknown Source)
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(Unknown Source)
    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:597)
    at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:100)
    at org.logicalcobwebs.proxool.ProxyStatement.intercept(ProxyStatement.java:57)
    at $java.sql.Statement
$$
EnhancerByProxool
$$
ad3c3c0a.executeUpdate(<generated>)
    at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:46)
    at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2275)
    ... 62 more

项目中试用的sqljdbc。jar是这个,sqlserver2008的数据库
screenshot
我在保存之前打印出来的jyjs的值是对的,标准的yyyy-MM-dd HH:mm:ss的格式

请问这到底是为什么啊,为什么一直插入不成功,这错误找的都醉了,求大神指点

展开
收起
爵霸 2016-03-04 10:36:01 4625 0
1 条回答
写回答
取消 提交回答
  • 最简单的方法,日期改为字符串存储
    pojo里换long型,试试
    streamlong换类型,改动大,慎重考虑此选择

    2019-07-17 18:51:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载