为什么我使用new Date()时无法插入数据?

来源:1-11 通过Hibernate API编写访问数据库的代码

DHChan

2015-12-11 14:20

Students s=new Students(1, "小明", "男",new Date(), "武当山");

我的持久化类和老师的一样,测试后,成功建表,但是没有插入这条记录。

我把出生日期的Date型改成String后却插入成功了



写回答 关注

5回答

  • 慕九州1241956
    2018-06-27 09:59:39

    将两边的包都改成

    import java.util.Date;


  • DHChan
    2015-12-11 20:48:13

    我很好奇为什么老师的

    new Date()

    这个就对了

    我的代码就是照着老师的代码敲的呀

    HenryT

    你看看Date的包引用对了吗?

    2015-12-23 21:08:15

    共 1 条回复 >

  • 慕男婶
    2015-12-11 15:09:54
    Date date = new Date(); 
    Timestamp timeStamp = new Timestamp(date.getTime()); //需要转换一下
    Students s=new Students(1, "张三丰", "男",timeStamp, "武当山");
    session.save(s);//保存对象进入数据库


    DHChan

    还是不对,问题和原来一样

    2015-12-11 20:46:19

    共 1 条回复 >

  • DHChan
    2015-12-11 15:05:42

    private int sid;//学号

    private String sname;//姓名

    private String gender;//性别

    private Date birthday;//出生日期

    private String address;//地址



    构造器:

    public Students(int sid, String sname, String gender, Date birthday, String address) {

    //super();

    this.sid = sid;

    this.sname = sname;

    this.gender = gender;

    this.birthday = birthday;

    this.address = address;

    }

    测试类:

    Students s=new Students(1, "张三丰", "男",new Date(), "武当山");

    session.save(s);//保存对象进入数据库

    Students.hbm.xml:

    http://img.mukewang.com/566a758c000192dd05370348.jpg


    结果:

    566a7569000166b605000215.jpg

    566a756a0001b26505000111.jpg

    566a756a0001112f05000275.jpg

    566a756a000146ba05000152.jpg


  • 慕男婶
    2015-12-11 14:37:58

    那就说明数据库存储日期的字段类型是String而不是Date类型

    DHChan

    我上个代码和结果吧

    2015-12-11 15:05:30

    共 1 条回复 >

Hibernate初探之单表映射

Java持久化框架Hibernate入门教程,掌握Hibernate基本概念

74810 学习 · 793 问题

查看课程

相似问题