Não está gravando os registros filhos com o Hibernate

2 respostas
ibotirama

Eu estou com um problema, tenho as seguintes classes :

Pessoa -> Contato
Clientes

@Entity
public class Cliente {
	@Id
	@GeneratedValue
	private Long id;
	private String nome;
	@OneToMany(mappedBy="cliente")
	private List<Contato> contatos;

	public List<Contato> getContatos() {
		return contatos;
	}
...(getts and setters)
@Entity
@PrimaryKeyJoinColumn(name="pessoa_id")
public class Contato extends Pessoa{
	private String senha;
	@ManyToOne
	private Cliente cliente;
...(getts and setters)
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public abstract class Pessoa {
	@Id
	@GeneratedValue
	private Long id;
	private String nome;
	private String email;
	private String telefone;
...(getts and setters)

mas quando eu estou testando a inclusão de Cliente + Contatos mas não grava os contatos e nem dá erro como eu posso corrigir isso :?:

public class TesteCliente {
	public static void main(String args[])
	{
		DaoFactory dao = new DaoFactory();
		List<Contato> lc = new ArrayList<Contato>();

		Cliente c = new Cliente();
		c.setNome("Datas Magazine");
		Contato cc = new Contato();
		cc.setNome("Pedro Henrique");
		cc.setEmail("[email removido]");
		cc.setSenha("1234");
		//cc.setCliente(c);
		lc.add(cc);

		dao.beginTransaction();
		dao.getClienteDao().adiciona(c);
		dao.commit();

		//for (Cliente cc:dao.getClienteDao().listaTudo())
		//	System.out.println(cc.getNome());
	}
}

2 Respostas

LuksS

dê um jeito dele executar as inserções em cascate=“all” ñ sei como se faz isso com anotações, só com xml

T

com anotações fica assim

@Cascade(CascadeType.ALL)
Criado 19 de abril de 2008
Ultima resposta 19 de abr. de 2008
Respostas 2
Participantes 3