@adonainozella escreveu:
Boa tarde galera, tudo certo?
Estou fazendo um estudo sobre o Hibernate e JPA, e me surgiu uma dúvida sobre inserir dados em uma tabela que possui relacionamento com outras. Vou resumir a minha dúvida em entidades pequenas, para assim ficar mais fácil o entendimento.
Entidades Criadas
@Entity @Table(name="Curso") public class CursoEntity{ @Id @Column(name="Nr_Curso") private int nrCurso; @Column(name="Ds_Curso") private String dsCurso; /* ... Getters e Setters ... */ }
@Entity @Table(name="Aluno") public class AlunoEntity{ @Id @Column(name="Nr_Aluno") private int nrAluno; @Column(name="Nm_Aluno") private String nmAluno; @OneToOne @Column(name="Nr_Curso") private CursoEntity cursoEntity; /* ... Getters e Setters ... */ }
Método POST
@POST @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public AlunoEntity save(AlunoEntity alunoEntity) { AlunoBusiness business = new AlunoBusiness(); int id = business.save(alunoEntity); alunoEntity.setIdAluno(id); return alunoEntity; }
Método Save
public int save(AlunoEntity alunoEntity) { SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); Session session = null; Transaction tx = null; try { session = sessionFactory.openSession(); tx = session.beginTransaction(); int id = (int) session.save(alunoEntity); tx.commit(); return id; } catch (Exception ex) { ex.printStackTrace(); tx.rollback(); return 0; } finally { session.close(); } }
Json a ser inserido
[{ "nrAluno":1, "nmAluno":"Aluno Teste", "cursoEntity":{ "nrCurso": 1, "nmCurso": "Ciência da Computação" } }]
Utilizando o Postman para fazer um insert utilizando o @POST, o retorno a qual recebo é "Can not deserialize instance of ... out of START_ARRAY"
Neste caso, como trato a informação do cursoEntity para inserir os dados?
Desculpem-me caso a dúvida seja simples, tentei localizar algo que me ajudasse, porém, sem sucesso.Grato pela atenção!
Atenciosamente,
Adonai Fabricio Nozella
Mensagens: 2
Participantes: 2