当前位置:编程学习 > JAVA >>

怎么用hibernate保存数据库的当前时间

比如:regTime字段表示注册时间,怎么做到插入的这个字段值是数据库的时间,而不是我们自己电脑的时间。
我的想法是:
1.hql先用select current_timestamp() from 类名,得到数据库的当前时间,然后set给字段,再插入?这样貌似不靠谱。
2.用触发器。insert的时候,插入时间。
不知哪个好,或者是还有什么更好的办法。

还有个lastLoginTime字段,表示上次在线时间。本想偷懒在实体类中用@tempral(tempral.TIMESTAMP)让mysql自动生成timestamp字段,以后就让数据库自己维护,发现在mysql表中生成的字段类型是datetime类型,郁闷啊. 数据库 hibernate mysql --------------------编程问答-------------------- 用数据库的getdate()函数 --------------------编程问答--------------------
引用 1 楼 fangmingshijie 的回复:
用数据库的getdate()函数

可否说得再详细点
你的间断是说在触发器里用getdate()这个方法吗? --------------------编程问答-------------------- 插入数据库的时候 --------------------编程问答-------------------- 1 项目代码中取得的时间可以看作数据库的时间,毕竟基本都是取操作系统时间。

2 数据库里可以直接设置默认值,hibernate不映射这个字段就可以了。 --------------------编程问答--------------------
引用 3 楼 fangmingshijie 的回复:
插入数据库的时候

。。。。兄弟,不要惜墨如金啊。可能你认为简单不值一提的东西,可能正是我困惑所在。
能再多指点一下不?hibernate文化档里只是说了怎么在where子句中用current_date(), current_time(), and current_timestamp(),没有插入相关的说明,自己又学艺不精,求完整思路 --------------------编程问答-------------------- update XXX set YY=now() where zzz=1; --------------------编程问答-------------------- new Date() 或 在数据库中设置默认值就可以了
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,