Java Null将被持久化到DB for dateTime参数中
我有一个json,我正在解析它以将数据保存到数据库中 示例Json:-Java Null将被持久化到DB for dateTime参数中,java,jpa,spring-boot,Java,Jpa,Spring Boot,我有一个json,我正在解析它以将数据保存到数据库中 示例Json:- { "uuid":"1111170905035334", "serviceName":"service1", "timeStamp":"2017-12-12 23:12:54", "isActive":"Y" } 现在我想将这些数据持久化到服务表中 Service.java @Temporal(TemporalType.TIMESTAMP) @Column(n
{
"uuid":"1111170905035334",
"serviceName":"service1",
"timeStamp":"2017-12-12 23:12:54",
"isActive":"Y"
}
现在我想将这些数据持久化到服务表中
Service.java
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "DATETIME_STAMP")
private java.util.Calendar dateTimeStamp;
public ServiceHealth(String serviceName, char isActive, String DatetimeStamp) {
this.serviceName = serviceName;
this.isActive = isActive;
this.dateTimeStamp=dateTimeStamp;
}
数据类:-
java.util.Date dt = new java.util.Date();
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentTime = sdf.format(dt);
System.out.println("Date Time is "+currentTime);
ServiceHealth serviceHealth = new ServiceHealth("", "",currentTime);
currentTime
的值将保存为null
。谁能看一下,告诉我哪里做错了
我在控制台中获得绑定参数[1]作为[TIMESTAMP]-[null]。我用过postGres的弹簧靴
我正在使用JpaRepository将数据持久保存到数据库中。Wow
this.dateTimeStamp=dateTimeStamp;
应该是
this.dateTimeStamp = DatetimeStamp;
^
检查IDE
此处,serviceName和isActive字段用相同名称的参数填充。但是,字段dateTimeStamp未使用参数dateTimeStamp填充。(但使用旧字段值本身-noop。)最好是重命名参数名称:
public ServiceHealth(String serviceName, char isActive, String dateTimeStamp) {
事实上,几乎每个IDE都应该标记该分配。您希望我们猜测
ServiceHealth
的构造函数实现?@M.Deinum:我正在使用JPA存储库将数据保存到数据库中。无论您在做什么new ServiceHealt
都将传递一个字符串,该字符串应作为日历
。。。很明显,你在构造函数中做了什么(或者没有做什么,这可以解释null
)。现在请检查我已经添加了构造函数。发布的代码甚至不会编译。。。您不能将字符串
分配给日历
字段。此日期时间戳是一个实例变量。请检查。@IftekharKhan补充了一点解释。
public ServiceHealth(String serviceName, char isActive, String dateTimeStamp) {