JPA: Persistir String em Datetime

6 respostas
datetimejpajava
M

Bom dia,
Gostaria de um help de vocês, por necessidade preciso sempre retornar apenas HH:mm de um atributo, para isso criei ele da seguinte maneira private String vlHriniterTrab; é retornado corretamente, mas na hora de realizar a persistência ocorre erro porque o PostgreSQL não aceita envio de uma string para field do tipo Time.
Se eu usar o tipo do atributo como Date ou Time ele passa retornar a DD/MM/YYY HH:MM o que eu não posso ter.

Alguém tem alguma sugestão?

@XmlElement(nillable = true)
    @Column(name = "vl_hriniter_trab")
    private String vlHriniterTrab;
    
    public String getVlHriniterTrab() {
        return vlHriniterTrab;
    }

    public void setVlHriniterTrab(String vlHriniterTrab) {
        this.vlHriniterTrab = vlHriniterTrab;
    }

Obrigado!!!

6 Respostas

J

já experimentou utilizar a anotação @Temporal passando a sua coluna para o tipo Date ao invés de String ?

@XmlElement(nillable = true)
    @Column(name = "vl_hriniter_trab")
    @Temporal(value=TemporalType.TIME)
    private Date vlHriniterTrab;

Acredito que já resolva o seu problema.

M

Olá @Jonathan_Medeiros, sim já fiz isso o problema que quando eu mudo a coluna para tipo Date eu vou obter o retorno “vlHrinisexTrab”: “1970-01-01T12:00:00Z”, sendo que preciso apenas do TIME. :frowning:

Abs

J

Para resgatar o valor do BD você fala ?

M

Sim, no BD esta armazenado como “HH:mm:ss” pois é uma coluna do tipo TIME, mas quando resgato essa coluna e utilizo a tipo Date é adicionado a data o que me quebra!!!
Já tentei usar a @Formula mesmo assim, não rolou!!!

J

Caramba, já tentou formatação direta via Query no seu sql de consulta ?

M

Já cara, negocio esta tenso, quase mudando a coluna no banco para String e só trabalhar com esse formato!!!

Criado 26 de janeiro de 2017
Ultima resposta 26 de jan. de 2017
Respostas 6
Participantes 2