我的用户界面的日期格式为 dd / mm / yyyy 。 DB中的日期为 yyyy-mm-dd 格式。 我需要将日期从UI转换为数据库。
DTO和实体日期的类型为java.util.Date。 我使用spring的 BeanUtils.copyProperties(源,目标)来设置来回的实体dto和实体。
我有以下解决方案: 1.实现JPA AttributeConverter 2.使用自定义Java注释 3.使用简单的日期格式转换器实用程序类。 日期格式转换器的最佳方法是什么。
我的技术堆栈是:
答案 0 :(得分:0)
JPA应自动转换日期。要将其格式化以用于显示目的,请使用:
String formattedDate = new SimpleDateFormat("dd/mm/yyyy").format(date);
答案 1 :(得分:0)
无需操纵日期时间值的字符串。而是使用日期时间对象。对象没有“格式”。
您说日期值确实以SQL DATE
类型存储在数据库中。因此,如果在java.time.LocalDate
或更高版本中,则应将其作为JDBC 4.2对象检索到Java,如果在早期java.sql.DATE
中,则应作为JDBC检索。
搜索Stack Overflow,了解如何在技术堆栈中使用这些对象类型。这已被许多次覆盖。