Classe na Session - Vraptor

Galera,

Tenho duas classes anotadas pelo Hibernate.
Sendo que a classe A tem o atributo id, e a segunda classe B tem o atributo id_A da classe A.
Como eu faço utilizando o vraptor, para salvar a classe A e depois pegar o id da classe A e salvar a classe B?
Valeu!

Tudo bem?

Vamos lá:

[code]public class A {
private long id;
// outros atributos
// getters e setters
}

public class B {
private long id;

@ManyToOne(cascade=CascadeType.PERSIST)
private A a;
// alguns atributos
// getters e setters
}[/code]
Para fazer isso funcionar, basta inserir um ‘B’ com o atributo ‘a’ preenchido.

Tudo tranquilo mano!
Isso eu ja fiz!
Agora, por exemplo.
O B é uma lista em A.
Como ele vai saber qual id de A pertence a qual B?

Então… Toma bastante cuidado para fazer relacionamentos bidirecionais (ou seja A tem uma lista de Bs E B tem um A).
Prefira sempre onde não há uma lista.

Se você realmente precisa dessa lista, considere em remover o outro atributo. EVITE o relacionamento bidirecional.

Quando você vai inserir os dados, você tem o ID de cada um. O hibernate sabe como fazer esse relacionamento para você.
Basta você ter o atributo dentro do outro.

Vou tentar aqui.
Valeu.
E imprescidivel, esse relacionamento.

[quote=Rafael Guerreiro]Então… Toma bastante cuidado para fazer relacionamentos bidirecionais (ou seja A tem uma lista de Bs E B tem um A).
Prefira sempre onde não há uma lista.

Se você realmente precisa dessa lista, considere em remover o outro atributo. EVITE o relacionamento bidirecional.

[/quote]

Relacionamentos é o trivial no armazenamento em banco de dados e de supra importancia, e nas boas praticas de uso do hibernate o aconselhavel é sempre usar relacionamentos BIDIRECIONAIS.

101574,

em resposta a sua pergunta, basta vc colocar na lista de A os diversos B e em B o objeto A e ai quando vc mandar persistir o Hibernate vai saber mandar os inserts, lembre que os esses inserts são efetuados de diversas formas dependendo da forma que vc faz os mapeamentos(inclusive de formas não muito inteligentes), mas sempre que precisar de relacionamentos vc deve usar e sempre de forma bidirecionais outra coisa, ta com duvida, cria uma classe com Main() e habilita o log e vai testando e não esqueça de olhar a documentação oficial do hibernate.