使用 JPA 将 Java 日期存储到 MySQL DATETIME
要使用 JPA (Hibernate) 在 MySQL DATETIME 列中有效存储 Java 日期对象,您需要考虑 Hibernate JPA 的默认行为
问题:
直接将 Java Date 对象插入 DATETIME 列时,Hibernate 可能只存储日期部分并丢弃时间部分,从而导致值如“2009-09-22 00:00:00” MySQL.
解决方案:
要同时保留日期和时间信息,需要将 Java Date 对象转换为符合 MySQL DATETIME 格式的字符串表示形式(“yyyy-MM-dd HH:mm:ss”)。以下是实现此目的的方法:
java.util.Date dt = new java.util.Date();
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentTime = sdf.format(dt);
执行 JPA persist 操作时,请确保将 DATETIME 列的值设置为步骤 3 中获取的格式化字符串。然后 Hibernate 会将其正确映射为 MySQL DATETIME 格式.
通过遵循这种方法,您可以将 Java Date 对象的日期和时间部分存储在 MySQL DATETIME 列中,从而确保准确的数据表示和操纵。
以上是如何使用 JPA 在 MySQL DATETIME 列中正确存储 Java 日期对象?的详细内容。更多信息请关注PHP中文网其他相关文章!