Changeset 350


Ignore:
Timestamp:
2008-06-10 15:47:37 (5 years ago)
Author:
jgou
Message:
  • refresh right after persisting an entity, so the 'fully fetched' entity will be available
  • provide a refresh helper method, able of refreshing an entity or a list of entities (currently not in use)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/modules/kauri-dbresources/kauri-dbresources-impl/src/main/java/org/kauriproject/dbresources/RestletDaoHelper.java

    r333 r350  
    119119    } 
    120120 
     121    public boolean refreshEntity(Object entity, boolean isList) { 
     122        boolean succes = false; 
     123        try { 
     124            // TODO: why is transaction not automatically started ? 
     125            init(); 
     126            getJpaTemplate().getEntityManager().getTransaction().begin(); 
     127            Object merged; 
     128            if (isList) { 
     129                List<?> list = List.class.cast(entity); 
     130                for (Object object : list) { 
     131                    merged = getJpaTemplate().merge(object); 
     132                    getJpaTemplate().refresh(merged); 
     133                } 
     134            } else { 
     135                merged = getJpaTemplate().merge(entity); 
     136                getJpaTemplate().refresh(merged); 
     137            } 
     138            getJpaTemplate().getEntityManager().getTransaction().commit(); 
     139            succes = true; 
     140        } catch (Exception ex) { 
     141            log.error("Error when refreshing entity " + entity + " : " + ex); 
     142            if (getJpaTemplate().getEntityManager().getTransaction().isActive()) { 
     143                getJpaTemplate().getEntityManager().getTransaction().rollback(); 
     144            } 
     145        } 
     146        return succes; 
     147    } 
     148 
    121149    /** 
    122150     * Update entity, returns if the operation was successful. 
     
    150178            getJpaTemplate().getEntityManager().getTransaction().begin(); 
    151179            getJpaTemplate().persist(entity); 
     180            getJpaTemplate().refresh(entity); 
    152181            getJpaTemplate().getEntityManager().getTransaction().commit(); 
    153182            succes = true; 
Note: See TracChangeset for help on using the changeset viewer.