Zdravím konference

Mám problém s ukládáním detached objektů do db. 
Používám JPA(Hibernate), Spring 2.5

code:
-------------------------------
Page page = pageService.find(2);
Article article = new Article(); 
article.getPages().add(page);
articleService.save(article);
-----------------------------

Vyhodí to PersistentObjectException.detached entity passed to
persist:Page

Pokud použiji přímo entityManagera, vše funguje bez problémů:
*code:
---------------------------------------
 em.getTransaction().begin();
 Page page = em.find(Page.class,2);
 Article article = new Article(); 
 article.getPages().add(page);
 em.persist(a);
 em.getTransaction().commit();
------------------------------------

DAOservice rozšiřuje abstraktní DAOservice
*code:AbstractComponentService.java
-----------------------------------
@Transactional
public abstract class AbstractComponentService {
     
    protected EntityManager entityManager;
        
    @PersistenceContext
    public void setEntityManager(EntityManager entityManager) {
        this. entityManager = entityManager;
    }
   
    protected void save(Component component) {              
        if (component.getId() == null) {
            //new                
            entityManager.persist(component );
        } else {
            // update     
            merge(component);                           
        }
    }
...
----------------------------------------------

*code: ArticleService.java
---------------------------------------------------------------
public class ArticleServiceImpl extends  AbstractComponentService
implements ArticleService{
              
    @Override
    public void save(Article article)
{                                 ;
        super.save(article);                              
    }
-----------------------------------------------------

Object Page a Article je v asociaci ManyToMany.


Děkuji za pomoc.
Tomáš Jurman

Odpovedet emailem