0
我有一個名爲Period的類,它具有initialDate
和endDate
以及TemporalType=DATE
註釋(日曆屬性)。我試圖堅持它與JPA,但顯然休眠是不是管理做正確。JPA持續錯誤日曆日期
這些屬性:
@Temporal(TemporalType.DATE)
private Calendar dataInicial; // initialDate
@Temporal(TemporalType.DATE)
private Calendar dataFinal; // endDate
我想這樣設置:
Periodo periodo = new Periodo();
periodo.setDataInicial(Calendar.getInstance());
Calendar dataFinal = periodo.getDataInicial();
dataFinal.add(Calendar.MONTH, 6);
periodo.setDataFinal(dataFinal);
em.persist(periodo);
當我SYSOUT所有值它工作完全正常,但在數據庫中它是記錄爲:
+----+------------+-------------+
| id | dataFinal | dataInicial |
+----+------------+-------------+
| 5 | 2017-10-03 | 2017-10-03 |
+----+------------+-------------+
如果我設置Calendar dataFinal = Calendar.getInstance();
它工作正常並持續爲我想:
+----+------------+-------------+
| id | dataFinal | dataInicial |
+----+------------+-------------+
| 6 | 2017-10-03 | 2017-04-03 |
+----+------------+-------------+
爲什麼?我認爲這更多的是Java/OOP問題,所以我會堅持使用它。
'java.util.Calendar'是可變的。您已將相同的對象分配給兩個字段,然後突變該對象。 –
那麼管理不同日期的最佳方法是什麼?我有一個有用戶輸入的initialDate,但endDate總是6個月後。 –
爲什麼你需要日曆?爲什麼不使用日期? –