更改为EclipseLink会忽略@DateTimeFormat注释并停止使用JodaTime

时间:2015-03-23 14:42:03

标签: jpa eclipselink jodatime

我将我的应用程序更改为EclipseLink以使用租赁解决方案。直到现在还可以。

简单注释:

@DateTimeFormat(pattern = "dd/MM/yyyy HH:mm")

被忽略,现在我的所有日​​期都会返回以下格式:

Mon Mar 02 16:55:52 BRT 2015

使用的实体:

@Entity
@Table(name = "org")
public class Organization {

    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(pattern = "dd/MM/yyyy HH:mm")
    private Date startdate;

    //getters and setters
}

我无法使用jodatime进行此输入。任何人都有一个很好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

@DateTimeFormat通知如何在DB中表示日期(当插入或发布更新语句时),以便Java表示可以匹配DB的“文本”格式。

在JSP中,您会看到Date值如何在Java中呈现为文本。如果您直接访问它,它与startData.toString()完全相同,因此您会看到您的语言环境的默认格式;

您需要使用DateTimeFormat根据需要呈现日期。 您可以将getJSPTime()方法添加到使用该DataTimeFormat生成所需字符串的POJO中。