I added em.flush() just under em.persist() and it's solved the above problem. Hope this helps someone in the future. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4171235#4171235 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4171235