summaryrefslogtreecommitdiffstats
path: root/src/main/java/nu/xss/jpa/dao/GenericJpaDao.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/nu/xss/jpa/dao/GenericJpaDao.java')
-rw-r--r--src/main/java/nu/xss/jpa/dao/GenericJpaDao.java28
1 files changed, 19 insertions, 9 deletions
diff --git a/src/main/java/nu/xss/jpa/dao/GenericJpaDao.java b/src/main/java/nu/xss/jpa/dao/GenericJpaDao.java
index e282911..cac96e6 100644
--- a/src/main/java/nu/xss/jpa/dao/GenericJpaDao.java
+++ b/src/main/java/nu/xss/jpa/dao/GenericJpaDao.java
@@ -10,30 +10,40 @@ import javax.persistence.PersistenceContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public abstract class GenericJpaDao<E,K> implements Dao<E,K>, Serializable {
-
+public abstract class GenericJpaDao<E, K> implements Dao<E, K>, Serializable {
+
private static final long serialVersionUID = 4998055731089977476L;
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
-
+
@PersistenceContext
protected EntityManager entityManager;
-
+
protected Class<E> entity;
-
+
@SuppressWarnings("unchecked")
public GenericJpaDao() {
- ParameterizedType genericSuperclass = (ParameterizedType) getClass().getGenericSuperclass();
+ ParameterizedType genericSuperclass = (ParameterizedType) getClass()
+ .getGenericSuperclass();
this.entity = (Class<E>) genericSuperclass.getActualTypeArguments()[0];
}
-
+
public void save(E entity) {
+ logger.info("Persist Entity: {}.", entity.toString());
entityManager.persist(entity);
- logger.info("Saved entity: {}.", entity.toString());
+ entityManager.flush();
+ logger.info("Saved entity: {}.", entity.toString());
+ }
+
+ public void merge(E entity) {
+ logger.info("Merge Entity: {}.", entity.toString());
+ entityManager.merge(entity);
+ entityManager.flush();
+ logger.info("Saved entity: {}.", entity.toString());
}
public void delete(E entity) {
entityManager.remove(entity);
- logger.info("Deleted entity: {}.", entity.toString());
+ logger.info("Deleted entity: {}.", entity.toString());
}
public E findById(K id) {