比如:regTime字段表示注册时间,怎么做到插入的这个字段值是数据库的时间,而不是我们自己电脑的时间。
我的想法是:
1.hql先用select current_timestamp() from 类名,得到数据库的当前时间,然后set给字段,再插入?这样貌似不靠谱。
2.用触发器。insert的时候,插入时间。
不知哪个好,或者是还有什么更好的办法。还有个lastLoginTime字段,表示上次在线时间。本想偷懒在实体类中用@tempral(tempral.TIMESTAMP)让mysql自动生成timestamp字段,以后就让数据库自己维护,发现在mysql表中生成的字段类型是datetime类型,郁闷啊.数据库hibernatemysql

解决方案 »

  1.   

    可否说得再详细点
    你的间断是说在触发器里用getdate()这个方法吗?
      

  2.   

    1 项目代码中取得的时间可以看作数据库的时间,毕竟基本都是取操作系统时间。2 数据库里可以直接设置默认值,hibernate不映射这个字段就可以了。
      

  3.   

    。兄弟,不要惜墨如金啊。可能你认为简单不值一提的东西,可能正是我困惑所在。
    能再多指点一下不?hibernate文化档里只是说了怎么在where子句中用current_date(), current_time(), and current_timestamp(),没有插入相关的说明,自己又学艺不精,求完整思路
      

  4.   

    update XXX set YY=now() where zzz=1;
      

  5.   

    new Date() 或 在数据库中设置默认值就可以了