В моем REST-сервисе Springboot я не могу получить TIMESTAMP (ДАТА + ВРЕМЯ) в качестве ответа, потому что:
если я настрою его как @Temporal (TemporalType.TIMESTAMP), он имеет
более 400 сек. слишком большое время отклика
НО
если я настрою его как @Temporal (TemporalType.DATE), он будет меньше 1 сек. Время отклика, что здорово, но мне тоже нужно время.
если кто-нибудь знает, где я теряю производительность, помогите:)
мой класс сущности
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "DBTM")
@Temporal(TemporalType.TIMESTAMP) //if this is DATE instead of TIMESTAMP
//the performance increases
private Date DBTM;
public StationsMessung(... ,Date DBTM, ...) {
...
this.DBTM = DBTM
...}
public StationsMessung() {
}
public Date getDBTM() { return DBTM;}
public void setDBTM(Date DBTM) { this.DBTM = DBTM;}
мой сервис
@Service
public class StationService {
@PersistenceContext
EntityManager entityManager;
public List<Station> getAllStationMessungen(int AVNR, int TXNR, Date
STARTZEIT, Date ENDZEIT) {
return entityManager.createQuery("SELECT b FROM StationsMessung b
WHERE b.AVNR=:AVNR and b.TXNR=:TXNR and b.DBTM between :STARTZEIT and
:ENDZEIT" )
.setParameter("AVNR",AVNR )
.setParameter("TXNR",TXNR )
.setParameter("STARTZEIT", STARTZEIT)
.setParameter("ENDZEIT", ENDZEIT)
.getResultList();
}
это мой контроллер
@RequestMapping(value =
"/allmessungen/{AVNR}/{TXNR}/{STARTZEIT}/{ENDZEIT}", method =
RequestMethod.GET)
public List<Station> getAllStationMessungen(@PathVariable int AVNR,
@PathVariable int TXNR, @PathVariable String STARTZEIT, @PathVariable
String ENDZEIT)
throws ParseException {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd-HH:mm",
Locale.GERMAN);
System.out.println("erste startzeit beim eingeben des strings");
System.out.println(STARTZEIT);
Date STARTZE=formatter.parse(STARTZEIT);
Date ENDZE=formatter.parse(ENDZEIT);
System.out.println("2.startzeit nachm formatieren");
System.out.println(STARTZEIT);
return stationService.getAllStationMessungen( AVNR, TXNR, STARTZE,
ENDZE);
}
Если я использую
@Temporal(TemporalType.TIMESTAMP)
в моем классе сущности
-> мне меньше 1 сек. время отклика
Если я использую
@Temporal (TemporalType.DATE)
в моем классе сущности
-> я получаю время ответа 500 сек.
почему временная метка как ответ на данные требует гораздо больше времени?