我的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。