我的XML将Date值存储为String(客户要求),并且我希望将该字符串作为Date存储在我的数据库中,因为这需要一些排序和分组。

我创建了一个在单个类中包含JAXB和JPA批注的类。

我希望我的类使用字符串值读取/写入XML,但是当将其存储在数据库中时,JPA实体应将其转换为日期并将其存储在DB中。

当前代码,因为找不到整洁的解决方案,我将其读取为String:

    @XmlElement(name = "TransactionDate", required = true)
    protected String transactionDate;

    @Basic
    @Column(name = "TRANSACTIONDATE", length = 255)
    public String getTransactionDate() {
        return transactionDate;
    }

    public void setTransactionDate(String value) {
        this.transactionDate = value;


请帮助我实现它。

最佳答案

How do you specify the date format used when JAXB marshals xsd:dateTime?

使用XmlAdapter,我们可以如上所述实现它。我所做的唯一更改是维护两种不同的dateformat以读取Jaxb和编写JPA。

08-07 02:30