The equivalent of SQL date()
in java is simply new Date()
, e.g.:
myEntity.setDateField(new Date());
will set dateField
to the current date and time.
Question
I am using Hibernate for ORM mapping. One of the tables has a column of type "datetime". The column in question needs to be updated with "current-time" (time of data insertion). I am aware that I can use the date() function as the default value. I would rather prefer setting the timestamp when I set other attributes of the object.
Question 1) What is the equivalent of SQL date() function in Java?
La solution
The equivalent of SQL date()
in java is simply new Date()
, e.g.:
myEntity.setDateField(new Date());
will set dateField
to the current date and time.
Autres conseils
With mysql you can set an on update change : http://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html
CREATE TABLE t1 (
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
The attribut will be updated with the current timestamp of the DB.
(you are lucky because it doesn't work with oracle ... (and I am with oracle ...) )
I am trying in my code:
myEntity.setdDateCreated(new Date());
In hibernate mapping ->
property name="dateCreated" column="date_created" type="timestamp"
But in mysql it is saving as '0000-00-00 00:00:00'
Any guess why this is happening?