Erro com anotações JPA

3 respostas
Y

Estou fazendo um web service simples.
Estou tendo esse erro, Ta falando que nome_paciente não existe! Mas coloquei a notação @Column
Alguém sabe por que dá esse erro?

Unrecognized field “nome_paciente” (class br.com.api.model.domain.Paciente), not marked as ignorable (3 known properties: “cns”, “nomePaciente”, “idPaciente”])
at [Source: org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream@b3b99a8; line: 2, column: 20] (through reference chain: br.com.api.model.domain.Paciente[“nome_paciente”])

Minha Classe!

@Entity

public class Paciente {

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

@Column(name = id_paciente, nullable = false)

private int idPaciente;
@Column(name = "nome_paciente", length = 50, nullable = true)
private String nomePaciente;
@Column(name = "cns", length = 15, nullable = false)
private String cns;

3 Respostas

darlan_machado

Como está a tabela? Este mapeamento considera os nomes das colunas, especificamente, da coluna mapeada.
De acordo com a mensagem do erro, a coluna está como “nomePaciente” e não “nome_paciente”.

Murilo_Medeiros1

Primeiro voce deve verificar no seu BD se a coluna realmente existe na tabela, se estiver lá adicione isso no seu persistence.xml
<property name="javax.persistence.schema-generation.database.action" value="drop-and-create" />
Ele recriara todas as Entidades do seu banco limpando as anteriores. Caso nao resolva responda com a mensagem do erro completo.

Y

Cara eu descobri o erro.
Quando eu tava inserindo informações para o banco pelo Json. eu tava usando o nome da coluna
@Column(name = “nome_paciente”, quando na verdade eu deveria usar o atributo, private String nomePaciente;
Quando da tudo certo dai sim o banco cria a coluna com o nome_paciente.

ERRADO
{
“nome_paciente”: “Maria”,
“cns”: “8888”

}

CERTO
{
“nomePaciente”: “Maria”,
“cns”: “8888”

}

Criado 22 de abril de 2018
Ultima resposta 23 de abr. de 2018
Respostas 3
Participantes 3