Hibernate - Gravar conjunto

3 respostas
Baldao

Fala galera!

Eu não costumo fazer perguntas que provavemente todo mundo já perguntou por aqui mas eu realmente não estou conseguindo pesquisar isso... Usando o Hibernate annotations eu fiz o seguinte mapeamento de tabela:

@Entity
public class Carro {

	@Id
	@GeneratedValue
	private int id;
	private String modelo;

	@OneToMany(mappedBy="carro", fetch=FetchType.EAGER)
	private Set<Acessorio> acessorios;
	...

E estou criando o Set de acessórios dessa forma:

Carro carro = new Carro();
		carro.setModelo("Astra GLS 2.0");
		
		Acessorio a1 = new Acessorio();
		a1.setAcessorio("Turbo");
		a1.setPreco(2000.00f);
		
		Acessorio a2 = new Acessorio();
		a2.setAcessorio("Rodas liga leve");
		a2.setPreco(1500.00f);
		
		Set<Acessorio> acessorios = new HashSet<Acessorio>();
		acessorios.add(a1);
		acessorios.add(a2);
		
		carro.setAcessorios(acessorios);

		new CarroDAO().gravar(carro);
		...

Porém só o carro está sendo gravado no banco. A tabela de acessórios continua vazia. O que está faltando?

3 Respostas

Emerson_Macedo

Faltou configurar o @Cascade

[]s

Baldao

Não funcionou :frowning:

@OneToMany(mappedBy="carro", fetch=FetchType.EAGER) @Cascade(value={CascadeType.ALL}) private Set<Acessorio> acessorios;

Emerson_Macedo

Retira o mappedBy

Criado 4 de julho de 2008
Ultima resposta 4 de jul. de 2008
Respostas 3
Participantes 2