2
respostas

O hibernate não insere dados na minha List.

quando vou adicionar o serviço ele não põe la no banco de dados o que deve esta errado ?

Abaixo o código jsp.

<form action="/controlemembros/clinicas" method="post">
    <label>Nome:</label>
    <input type="text" name="nome">
    <label>Serviços Médicos:</label>
        <input type="text" name="servicos.tipo">    
    <button type="submit">Cadastrar</button>


</form>

Meu controller

@Controller
public class ClinicaController {

    @Autowired
    private ClinicaDAO dao;

    @RequestMapping("/clinicas/cadastro")
    public String cadastro(){
        return "clinicas/cadastro";
    }

    @RequestMapping("/clinicas")
    public String gravar(Clinica clinica) {
        dao.gravar(clinica);
        return "clientes/ok";
    }

Meu model

@Id 
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id;

    private String nome;

    @ElementCollection
    private List<ServicosMedicos> servicos;


    public List<ServicosMedicos> getServicos() {
        return servicos;
    }
    public void setServicos(List<ServicosMedicos> servicos) {
        this.servicos = servicos;
    }
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
2 respostas

Oi Gabriel,

Posta o código do seu Dao também? Sua classe de modelo está marcada com @Entity?

Abraço!

Esta marcada como Entity.. e minha classe ServicosMedicos como @Embeddable.

Ai exemplo eu adiciono uma Clinica e 1 serviço medico... meu problema eh como vou criar um método que eu pegue uma clinica já criada no banco e adiciona mais servico nela sem excluir as anteriores seria tipo assim pegaria uma Clinica e iria inserir na List na posição [0] depois na posição [1] e ai la vai..compreendeu

@PersistenceContext
    private EntityManager manager;

    public void gravar(Clinica clinica) {
        manager.persist(clinica);

    }

    public void adicionar(ServicosMedicos servicos) {
        manager.persist(servicos);
    }

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software