При использовании CRUD-репозитория в весенних данных JPA, возвращаемая дата по методам findById (длинный идентификатор) - это день-1 Дата, хранящаяся в базе данных - PullRequest
1 голос
/ 09 ноября 2019

Я написал простую программу JPA для Spring с использованием Spring boot. Я сохранил данные ниже в базе данных Oracle.

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);

    }

OutageInforService.java

public interface OutageInfoService {

    public List<OutageInfo> getOutageInfo(Date enccPlanDT);
    public OutageInfo getOutageInfor(Long id);

}

OutageInfoServiceImpl

@Service
public class OutageInfoServiceImpl implements OutageInfoService {

    @Autowired
    OutageInfoRepository outageInfoRepository;

    public List<OutageInfo> getOutageInfo(Date enccPlanDT){
        List <OutageInfo> outageInfoList=new ArrayList();

        return outageInfoList;

    }

    @Override
    public OutageInfo getOutageInfor(Long id) {
        Optional <OutageInfo> outageInfo=outageInfoRepository.findById(id);

            return outageInfo.orElseThrow(null);
    }


}

OutageInfo.java

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 + "]";
    }


}

OutageInfoRepository

import org.springframework.data.repository.CrudRepository;

import com.poc.rst.demosaRest.entity.OutageInfo;

public interface OutageInfoRepository extends CrudRepository<OutageInfo, Long> {

}

1 Ответ

1 голос
/ 09 ноября 2019

Аннотируйте временные поля с помощью: @Temporal( TemporalType.DATE ) как это:

@Temporal( TemporalType.DATE )
@Column(name="ENCCPLANNEDSTARTTIME")
private Date enccPlanDT;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...