2016-02-01 60 views
1

在我的MySQL数据库存储我,所以我只存储YYYY-MM-DD没有关于时间的任何信息(我用DATETIME也存储时间信息的其他表)日期DATE类型。 我的实体是:映射MySql的日期为Java对象

@Entity 
@Table(name = "clientlicense", catalog = "ats") 
public class ClientLicense implements java.io.Serializable{ 

    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 
    private Integer idClientLicense; 
    private Date startDate; 
    private Date endDate; 
    private int counter; 
    private String macAddress; 
    private String cpuId; 

但是,当我从我的Web用户界面得到startDateendDate我收到甚至像2016年1月29日00时:00:00.0 我怎么能只存储日期到数据库?我必须在我的HTML代码中工作吗?谢谢

回答

1

试用@Temporal JPA批注。

Anotating你的领域和不断变化的类型应该有所帮助:

@Temporal(TemporalType.TIMESTAMP) 
private java.util.Date startDate; 

有效值为:

TemporalType.DATE 
TemporalType.TIME 
TemporalType.TIMESTAMP 

它等价的

DATE – equivalent of java.sql.Date 
TIME – equivalent of java.sql.Time 
TIMESTAMP – equivalent of java.sql.Timestamp 
+0

与temporal.Date它的工作原理。 Thans – luca

0

您的实体映射对我来说似乎没问题。 java.util.Date班级还提供时间信息。

您将需要格式化Web层上的日期对象。实施取决于您在前端使用的技术。

例如,如果您使用普通的JSP页面,则可以使用java.text.SimpleDateFormat对象进行格式设置。

+0

唯一的问题是,这个日期字段是与不同字段的对象,我使用此代码thymeleaf >,其中许可列表 – luca

+0

@luca的元素也许这是你在找什么;) http://stackoverflow.com/questions/28808838/。你的情况,这可能是类似的东西: