Continua a dúvida sobre One-to-Many no hibernate!

1 resposta
ThiagoWorldCoder

Eu estava seguindo um exemplo de um livro sobre o hibernate e lá estava explicando sobre associação para a própria classe, ou seja, um pai pode ter vários filhos. o mapeamento dele estava assim:
view plaincopy to clipboardprint?



















porém, eu queria fazer com que um pedido tivesse vários itens, e a chave extrangeira estaria na tabela de pedido. Ou seja, seria One-to-many, com esse mapeamento eu não consegui entender…

 na hora de inserir ele estava fazendo assim:

view plaincopy to clipboardprint?

Session session = sessions.openSession();

Transaction t = session.beginTransaction();

Category computer = (Category) session.get(Category.class, computerId);

Category laptops = new Category(Laptops);

computer.getChildCategories().add(laptops);

laptops.setParentCategory(computer);

tx.commit();

session.close();

Session session = sessions.openSession();

Transaction t = session.beginTransaction();

Category computer = (Category) session.get(Category.class, computerId);

Category laptops = new Category(Laptops);

computer.getChildCategories().add(laptops);

laptops.setParentCategory(computer);

tx.commit();

session.close();

Alguém pode me dar um exemplo melhor, ou me explicar essa inserção?

Grato!

1 Resposta

ThiagoWorldCoder

Eu estava seguindo um exemplo de um livro sobre o hibernate e lá estava explicando sobre associação para a própria classe, ou seja, um pai pode ter vários filhos. o mapeamento dele estava assim:
view plaincopy to clipboardprint?

<class name="Category" table="CATEGORY"> ... <property name="name" column="CATEGORY_NAME" /> <many-to-one name="parentCategory" class="Category" column="PARENT_CATEGORY_ID" cascace="none" /> <set name="childCategories" table="CATEGORY" cascade="save-update" inverse="true"> <key column="PARENT_CATEGORY_ID" /> <one-to-many class="Category" /> </set> ... </class> <class name="Category" table="CATEGORY"> ... <property name="name" column="CATEGORY_NAME" /> <many-to-one name="parentCategory" class="Category" column="PARENT_CATEGORY_ID" cascace="none" /> <set name="childCategories" table="CATEGORY" cascade="save-update" inverse="true"> <key column="PARENT_CATEGORY_ID" /> <one-to-many class="Category" /> </set> ... </class>

porém, eu queria fazer com que um pedido tivesse vários itens, e a chave extrangeira estaria na tabela de pedido. Ou seja, seria One-to-many, com esse mapeamento eu não consegui entender…

lá na hora de inserir ele estava fazendo assim:

Session session = sessions.openSession(); 
Transaction t = session.beginTransaction(); 
Category computer = (Category) session.get(Category.class, computerId); 
Category laptops = new Category("Laptops"); 
computer.getChildCategories().add(laptops); 
laptops.setParentCategory(computer); 
tx.commit(); 
session.close(); 
Session session = sessions.openSession(); 
Transaction t = session.beginTransaction(); 
Category computer = (Category) session.get(Category.class, computerId); 
Category laptops = new Category("Laptops"); 
computer.getChildCategories().add(laptops); 
laptops.setParentCategory(computer); 
tx.commit(); 
session.close();

Alguém pode me dar um exemplo melhor, ou me explicar essa inserção?

Grato!

Criado 14 de dezembro de 2007
Ultima resposta 14 de dez. de 2007
Respostas 1
Participantes 1