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;
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”.
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.
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”
}