Date date =new Date();
 System.out.println(date);
 System.out.println(new Date());
这一段,两个输出的时间相同的。但是我在往数据库里加数据的时候
member.setRegisterTime(new Date());
getSession().saveOrUpdate(member);这是有数据的,Date date =new Date();
member.setRegisterTime(date);
getSession().saveOrUpdate(member);这是没用数据的。为啥。

解决方案 »

  1.   

    可能是这个原因造成,数据库可能需要的是一个字符串类型或者数据库的日期类型,但JAVA新new出来的日期明显格式不对,它不识别。
    以上是个人拙见,请各位大神批评指正,手机上看的,没法测试,十分抱歉
      

  2.   

    Date date =new Date();
    member.setRegisterTime(date);
    getSession().saveOrUpdate(member);
    打断点到这一行   看看date 有没有值     再看看下一行member里registerTime有没有值   
    都有的话检查一下数据库registerTime的类型
      

  3.   

    不是,实体member定义的就是date类型,set肯定也是date类,这是通过hibernate操作,要的就是date
    然后,插入数据的时候只要是个时间类型,都可以存入,然后取出的时候才需要重新定义格式
      

  4.   

    你这两段代码是在同一个文件中吗?引入的是同一个类型的Date吗?
      

  5.   

    可能是后续代码修改了date变量。
      

  6.   

    没用后续代码了到这里进行插入数据,然后只有date这边是null,其他都有值
      

  7.   

    个人意见,去查下是java.util.Date 还是java.sql.Date
      

  8.   

    java.sql.Date  +1
    再就是 数据库是什么的?
    还有 最好还是用String.