Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

553
Vistas
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

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

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.

about 4 years ago · Santiago Trujillo Denunciar

0

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

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda