在我的MySql数据库中我将日期存储为DATE类型,因此我只存储YYYY-MM-DD而没有任何关于时间的信息(在另一个表中我使用DATETIME来存储时间信息)。 我的实体是:
@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;
但是当我从我的WebUi获得startDate
和endDate
时,我甚至收到了像2016-01-29 00:00:00.0这样的时间
如何只将日期存储到数据库中?我是否必须使用我的HTML代码?谢谢
答案 0 :(得分:1)
尝试使用@Temporal JPA注释。
调整字段并更改类型应该会有所帮助:
@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
答案 1 :(得分:0)
您的实体映射对我来说似乎没问题。 java.util.Date
类还附带时间信息。
您需要在Web层上格式化日期对象。实施取决于您在前端使用的技术。
例如,如果您在普通的JSP页面上,则可以使用java.text.SimpleDateFormat
对象进行格式化。