Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

563
Views
Formato de fecha y hora personalizado en Spring Data Projection

Tengo una proyección de datos de primavera que alinea algunos campos relacionales. Cuando se aplica la proyección, los campos de fecha y hora ya no se muestran como iso8601 (como si no tuvieran la proyección), sino que se muestran en otro formato.

¿Cómo hago que mi formato de proyección sea una fecha y hora como ISO8601? Aquí está mi proyección actualmente:

 package io.cocept.model.projection; import io.cocept.model.Meeting; import io.cocept.model.User; import org.springframework.data.rest.core.config.Projection; import org.springframework.format.annotation.DateTimeFormat; @Projection(name = "inlineUsers", types = { Meeting.class }) public interface MeetingInlineUsersProjection { String getAddress(); String getDateTime(); String getMessage(); User getOwner(); User getInvitee(); }

y mi clase de reunión:

 package io.cocept.model; import javax.persistence.*; import javax.validation.constraints.NotNull; import java.util.Date; @Entity public class Meeting extends BaseEntity { private User owner; private User invitee; private String address; private Date dateTime; private String message; public Meeting() { } @ManyToOne @NotNull @JoinColumn(name = "owner_id") public User getOwner() { return owner; } public void setOwner(User owner) { this.owner = owner; } @ManyToOne @NotNull @JoinColumn(name = "invitee_id") public User getInvitee(){ return invitee; } public void setInvitee(User invitee){ this.invitee = invitee; } @NotNull public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @NotNull public Date getDateTime() { return dateTime; } public void setDateTime(Date dateTime) { this.dateTime = dateTime; } public String getMessage(){ return message; } public void setMessage(String message){ this.message = message; } }

Intenté agregar el decorador @DateTimeFormat(pattern = "YYYY") a la propiedad getDateTime() pero no cambia el formato de fecha de salida.

¿Algunas ideas?

gracias max

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Como señaló Jens Schauder en su comentario, accidentalmente configuré el tipo para getDateTime() en la proyección como String, en lugar de Date. Esto presumiblemente hizo una conversión implícita a String en un formato diferente al predeterminado de primavera (iso8601).

Cuando cambié la proyección de:

 String getDateTime()

a:

 Date getDateTime()

dio formato a la fecha como ISO8601 como el resto de la aplicación.

over 4 years ago · Santiago Trujillo Report

0

Pruebe @DateTimeFormat(pattern = "yyyy") en lugar de YYYY .

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!