KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Because calling a flush() to get every entities persist from memory to database. So if I use call too much unnecessary flush(), it could take much time therefore not a good choice for the performance. Here is a scenario that I don't know when to call a flush()? //Order and Item have Bidirectional Relationships Order ord = New ord("my first order"); Item item = New Item("tv",10); //...process item and ord object em.persist(ord);//em is an instance of EntityManager em.flush();// No.1 flush() item.setOrder(ord); em.persist(item); Set<Item> items= new HashSet<Item>(); items.add(item); ord.setItems(items); em.flush();// No.2 flush() My question is: calling of the No.1 flush could be avoid or not? The things I worried is: in order to do the item.setOrder(ord) , we need an database id of ord. And calling only em.persist(ord) cannot generate an database id, so I have to call the em.flush() before item.setOrder(ord) . So what's your opinion guys? Thanks in advance.
Tags (comma-separated)
Save Edits
Cancel