Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

EntityManager - persist

 
Deepika Joshi
Ranch Hand
Posts: 268
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a doubt,

if a Seller wants to sell an Item, it comes to a page & try to add Item

Case 1.
--------
process finds that this is not registered seller, and provide seller a page to fill seller detail.
- Seller (object) Entity is created, but not attached
Seller fills detail of Item
- Item Enity (object) is created
Item has relationship with seller, so while creating Item one step is
- item.setSeller(seller);
final step
- em.persist(item);

Case 2.
--------
process finds the seller
- Seller seller = em.find(Seller.class, sellerId);
- item.setSeller(seller);
- em.persist(item);

case 2 is from EJB 3 in Action page 315, case 1. is my asumption (if seller does not exist, and wants to add item).

EM will check if item PK does not exist, it will add Item to db in this case, but I am not sure how EntityManager will treat to Seller entity in Case 2. & Case 1.

Thanks....

 
Deepika Joshi
Ranch Hand
Posts: 268
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
or may be case 1 is not good enough

it must have
Seller seller = new Seller();
seller.setXXX();
- em.persist(seller); //if seller id is IDENTITY (auto generated) flush should needed to manage Seller
- em.flush();

-item.setSeller(seller)
- em.persist(item).
(now this Case 1 is also like Case 2 for EnetityManager).

Hope my assumptions are correct.

 
Deepika Joshi
Ranch Hand
Posts: 268
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
got it,

cascadetype.persist does exists...
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic