2017-10-10 83 views
0

保存日期为今天的数据库日期我一直在使用它,如下图所示jhipster-jdl.jh文件中jhipster创建一个实体:始终使用jhipster

entity EmployeeLeave{ 
    appliedDate LocalDate required, 
    fromDate LocalDate required, 
    toDate LocalDate required, 
    status String 
} 

从这些领域,我想appliedDate今天的日期数据库(MySQL的)。 我已经尝试过从jirster代码中的角度,但没有帮助很好。

有什么办法可以为employeeLeave创建记录时,应该始终应用与当天日期相同的日期。 最好我想从角度方面的解决方案。其他解决方案也受到欢迎。

技术:

数据库:MySQL和 春天开机, 角4, Jhipster。

+0

可以在数据库表创建时应用默认值 –

+0

如果使用'hibernate',则可以使用'@ PrePersist'注释。 – hrdkisback

回答

0

可以初始化你的约会你的类中:

public class EmployeeLeave{ 
    LocaleDate yourDate = LocaleDate.now(); 
    //other fields 
} 

所以,appliedDate永远是今天的日期。我正在使用Java 8,但主意在这里。

+0

正确。我建议总是传递可选的'ZoneId',而不是隐式地依赖于JVM当前的默认时区。缺省值可以在运行时的任何时刻由该JVM内的任何应用程序中的任何线程进行更改,因此它不可靠。 –

0

LocaleDate.now()是服务器时间。如果服务器位于另一个时区而不是用户,可能会插入不正确的日期。 是不是更好像.controller.js定义日期:

     var now = new Date(); 
         vm.employeeLeave.appliedDate=now; 
         vm.isSaving = true; 
         EmployeeLeave.update(vm.employeeLeave, onSaveSuccess, onSaveError); 

+0

当我在jhipster中开发应用程序时,jhipster间接创建BaseEntity并将其继承到我的EmployeeLeave中。因此,直接将值绑定到组件中的变量会违反一些条件,因此appliedDate不能直接保存。另外,我在发布这个问题之前尝试了这个选项。 –