Spring boot 使用SpringDataJPA中的CRUD存储库,findById(longID)方法返回的日期是存储在数据库中的日期的第1天
我用SpringBoot编写了一个简单的SpringDataJPA程序。 我已将以下数据存储在oracle数据库中Spring boot 使用SpringDataJPA中的CRUD存储库,findById(longID)方法返回的日期是存储在数据库中的日期的第1天,spring-boot,spring-data-jpa,Spring Boot,Spring Data Jpa,我用SpringBoot编写了一个简单的SpringDataJPA程序。 我已将以下数据存储在oracle数据库中 OUTAGE_ID TOGA_NUMBER DESCRIPTION ENCCPLANNEDSTARTTIME PERPLANNEDSTARTTIME
OUTAGE_ID TOGA_NUMBER DESCRIPTION ENCCPLANNEDSTARTTIME PERPLANNEDSTARTTIME PFWPLANNEDENDTIME APAREQUIRED NOCREQUIRED
---------------------- -------------------- ---------------------------------------------------------------------------------------------------- ------------------------- ------------------------- ------------------------- ----------- -----------
1 T001 Sample Outage1 10-11-19 10-11-19 09-11-19 Y Y
但是,在使用findById(id)方法检索此记录时,我得到了错误的ENCCPLANNEDSTARTTIME和PERPLANNEDSTARTTIME字段日期,显示为2019-11-09T18:30:00.000+0000。下面是结果
{"outageId":1,"togaId":"T001","desc":"Sample Outage1","enccPlanDT":"2019-11-09T18:30:00.000+0000","perPlanDT":"2019-11-09T18:30:00.000+0000","apaFlag":"Y","nocFlag":"Y"}
“enccPlanDT”值与ENCCPLANNEDSTARTTIME字段值不匹配,与“perPlanDT”类似,后者与PERPLANNEDSTARTTIME字段不匹配
请让我知道我用代码写了什么错误或遗漏了什么。
下面是编写的代码
OutageInfoController.java
@RestController
@RequestMapping("/OutageInfo")
public class OutageInforCotroller {
@Autowired
OutageInfoService outageInfoService;
@GetMapping("/{id}")
public OutageInfo getOutageInfo(@PathVariable long id) {
return outageInfoService.getOutageInfor(id);
}
public interface OutageInfoService {
public List<OutageInfo> getOutageInfo(Date enccPlanDT);
public OutageInfo getOutageInfor(Long id);
}
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@Entity
@Table(name="outageinfo")
public class OutageInfo {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "OUTG_SEQ")
@SequenceGenerator(sequenceName = "OUTG_SEQ", allocationSize = 1, name = "OUTG_SEQ")
private long outageId;
@Column(name="TOGA_NUMBER")
private String togaId;
@Column(name="DESCRIPTION")
private String desc;
@Column(name="ENCCPLANNEDSTARTTIME")
private Date enccPlanDT;
@Column(name="PERPLANNEDSTARTTIME")
private Date perPlanDT;
@Column(name="PFWPLANNEDENDTIME")
private Date pfwplanDT;
@Column(name="APAREQUIRED")
private String apaFlag;
@Column(name="NOCREQUIRED")
private String nocFlag;
public long getOutageId() {
return outageId;
}
public void setOutageId(long outageId) {
this.outageId = outageId;
}
public String getTogaId() {
return togaId;
}
public void setTogaId(String togaId) {
this.togaId = togaId;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public Date getEnccPlanDT() {
return enccPlanDT;
}
public void setEnccPlanDT(Date enccPlanDT) {
this.enccPlanDT = enccPlanDT;
}
public Date getPerPlanDT() {
return perPlanDT;
}
public void setPerPlanDT(Date perPlanDT) {
this.perPlanDT = perPlanDT;
}
public String getApaFlag() {
return apaFlag;
}
public void setApaFlag(String apaFlag) {
this.apaFlag = apaFlag;
}
public String getNocFlag() {
return nocFlag;
}
public void setNocFlag(String nocFlag) {
this.nocFlag = nocFlag;
}
public OutageInfo() {
super();
// TODO Auto-generated constructor stub
}
public OutageInfo(int outageId, String togaId, String desc, Date enccPlanDT, Date perPlanDT, Date pfwplanDT,
String apaFlag, String nocFlag) {
super();
this.outageId = outageId;
this.togaId = togaId;
this.desc = desc;
this.enccPlanDT = enccPlanDT;
this.perPlanDT = perPlanDT;
this.pfwplanDT = pfwplanDT;
this.apaFlag = apaFlag;
this.nocFlag = nocFlag;
}
@Override
public String toString() {
return "OutageInfo [outageId=" + outageId + ", togaId=" + togaId + ", desc=" + desc + ", enccPlanDT="
+ enccPlanDT + ", perPlanDT=" + perPlanDT + ", pfwplanDT=" + pfwplanDT + ", apaFlag=" + apaFlag
+ ", nocFlag=" + nocFlag + "]";
}
}
OutageInforService.java
@RestController
@RequestMapping("/OutageInfo")
public class OutageInforCotroller {
@Autowired
OutageInfoService outageInfoService;
@GetMapping("/{id}")
public OutageInfo getOutageInfo(@PathVariable long id) {
return outageInfoService.getOutageInfor(id);
}
public interface OutageInfoService {
public List<OutageInfo> getOutageInfo(Date enccPlanDT);
public OutageInfo getOutageInfor(Long id);
}
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@Entity
@Table(name="outageinfo")
public class OutageInfo {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "OUTG_SEQ")
@SequenceGenerator(sequenceName = "OUTG_SEQ", allocationSize = 1, name = "OUTG_SEQ")
private long outageId;
@Column(name="TOGA_NUMBER")
private String togaId;
@Column(name="DESCRIPTION")
private String desc;
@Column(name="ENCCPLANNEDSTARTTIME")
private Date enccPlanDT;
@Column(name="PERPLANNEDSTARTTIME")
private Date perPlanDT;
@Column(name="PFWPLANNEDENDTIME")
private Date pfwplanDT;
@Column(name="APAREQUIRED")
private String apaFlag;
@Column(name="NOCREQUIRED")
private String nocFlag;
public long getOutageId() {
return outageId;
}
public void setOutageId(long outageId) {
this.outageId = outageId;
}
public String getTogaId() {
return togaId;
}
public void setTogaId(String togaId) {
this.togaId = togaId;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public Date getEnccPlanDT() {
return enccPlanDT;
}
public void setEnccPlanDT(Date enccPlanDT) {
this.enccPlanDT = enccPlanDT;
}
public Date getPerPlanDT() {
return perPlanDT;
}
public void setPerPlanDT(Date perPlanDT) {
this.perPlanDT = perPlanDT;
}
public String getApaFlag() {
return apaFlag;
}
public void setApaFlag(String apaFlag) {
this.apaFlag = apaFlag;
}
public String getNocFlag() {
return nocFlag;
}
public void setNocFlag(String nocFlag) {
this.nocFlag = nocFlag;
}
public OutageInfo() {
super();
// TODO Auto-generated constructor stub
}
public OutageInfo(int outageId, String togaId, String desc, Date enccPlanDT, Date perPlanDT, Date pfwplanDT,
String apaFlag, String nocFlag) {
super();
this.outageId = outageId;
this.togaId = togaId;
this.desc = desc;
this.enccPlanDT = enccPlanDT;
this.perPlanDT = perPlanDT;
this.pfwplanDT = pfwplanDT;
this.apaFlag = apaFlag;
this.nocFlag = nocFlag;
}
@Override
public String toString() {
return "OutageInfo [outageId=" + outageId + ", togaId=" + togaId + ", desc=" + desc + ", enccPlanDT="
+ enccPlanDT + ", perPlanDT=" + perPlanDT + ", pfwplanDT=" + pfwplanDT + ", apaFlag=" + apaFlag
+ ", nocFlag=" + nocFlag + "]";
}
}
OutageInformationPository
import org.springframework.data.repository.CrudRepository;
import com.poc.rst.demosaRest.entity.OutageInfo;
public interface OutageInfoRepository extends CrudRepository<OutageInfo, Long> {
}
import org.springframework.data.repository.crudepository;
导入com.poc.rst.demosaRest.entity.OutageInfo;
公共接口OutageInfoRepository扩展了Crudepository{
}
用:@temporal(TemporalType.DATE)
像这样:
@Temporal( TemporalType.DATE )
@Column(name="ENCCPLANNEDSTARTTIME")
private Date enccPlanDT;
你期望的结果是什么?