我把日期设为了String ,Oracle数据库中是Date类型,我按默认格式插入时间也不行 ,该怎么办?
我不想在java中把日期设为Date类型!有办法解决吗?? 谢谢了!
 
注:oracle中的默认格式是  yyyy-MM-dd HH:mm:ss  这种的 我在pl/sql下就能直接输字符串插入,
但在java中 同样的字符串 就报下面的这个错!!
 
InviteBookDaoImpl ibd=new InviteBookDaoImpl();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time=sdf.format(new Date());
InviteBook ib=new InviteBook();
ib.setEndTime(time);
ibd.save(ib);
org.hibernate.exception.DataException: Could not execute JDBC batch update
aused by: java.sql.BatchUpdateException: ORA-01861: 文字与格式字符串不匹配

解决方案 »

  1.   

    改吧 在java中改成date 不然会影响查询插入等操作效率的 
      

  2.   

    难道 只有写成 Date吗~ !
    我想设为String 在页面上 就直接用 不好实现吗?
      

  3.   

    InviteBook中的EndTime对应的数据库类型是String吗?hiberante映射文件中的类型是String吗?如果是就不会报错。但是这样做,以后要对此字段操作就比较麻烦啊,比如要写到where中判断时。
    另外,没有这么搞的。
    在页面你可以用 jstl 的格式化标签去做。