14 package cz.vutbr.fit.knot.annotations.app;
16 import java.io.Serializable;
17 import java.util.ArrayList;
18 import java.util.Iterator;
19 import java.util.List;
20 import java.util.logging.Level;
21 import java.util.logging.Logger;
22 import javax.persistence.EntityManager;
23 import javax.persistence.EntityManagerFactory;
24 import javax.persistence.EntityTransaction;
25 import javax.persistence.Persistence;
26 import javax.persistence.Query;
35 public class PersistM implements Serializable {
52 return entityManagerFactory.createEntityManager();
63 EntityManager em =
getEM();
65 Query q = em.createNamedQuery(entityName +
".findById");
66 q.setParameter(
"id", id);
67 List l = q.getResultList();
72 }
catch (Exception e) {
74 Logger.getLogger(PersistM.class.getName()).log(Level.ALL,
"getEntityById", e);
89 EntityManager em =
getEM();
91 Query q = em.createNamedQuery(entityName +
".findAll");
92 return q.getResultList();
93 }
catch (Exception e) {
94 System.out.print(
"EXCEPTION "+e.getLocalizedMessage());
96 Logger.getLogger(PersistM.class.getName()).log(Level.ALL,
"getEntitiesByName", e);
111 EntityManager em =
getEM();
113 Query q = em.createNamedQuery(queryName);
114 q.setHint(
"javax.persistence.cache.storeMode",
"REFRESH");
115 return q.getResultList();
116 }
catch (Exception e) {
118 Logger.getLogger(PersistM.class.getName()).log(Level.ALL,
"queryDB:" + queryName, e);
133 public List
queryDB(String queryName, Object[] params) {
134 EntityManager em =
getEM();
136 Query q = em.createNamedQuery(queryName);
137 q.setHint(
"javax.persistence.cache.storeMode",
"REFRESH");
138 for (
int p = 0; p < params.length; p = p + 2) {
139 q.setParameter((String) params[p], params[p + 1]);
141 return q.getResultList();
142 }
catch (Exception e) {
144 Logger.getLogger(PersistM.class.getName()).log(Level.ALL,
"queryDB:" + queryName, e);
159 EntityManager em =
getEM();
161 EntityTransaction transaction = em.getTransaction();
165 transaction.commit();
166 }
catch (Exception e) {
169 if (entity != null) {
170 eString = entity.toString();
172 System.out.println(e.getMessage());
173 Logger.getLogger(PersistM.class.getName()).log(Level.ALL,
"persistEntity: " + eString, e);
190 EntityManager em =
getEM();
191 if(entity != null && !entity.isEmpty()){
192 Iterator<Object> objIt = entity.iterator();
195 EntityTransaction transaction = em.getTransaction();
199 while(objIt.hasNext()){
202 if ((counter % 10000) == 0) {
203 em.getTransaction().commit();
205 em.getTransaction().begin();
208 transaction.commit();
209 }
catch (Exception e) {
213 eString = ent.toString();
215 System.out.println(
"Crash! " + e.getMessage() +
" :: " +eString);
216 Logger.getLogger(PersistM.class.getName()).log(Level.ALL,
"persistEntity: " + eString, e);
233 EntityManager em =
getEM();
235 EntityTransaction transaction = em.getTransaction();
237 entity = em.merge(entity);
239 transaction.commit();
240 }
catch (Exception e) {
243 if (entity != null) {
244 eString = entity.toString();
246 Logger.getLogger(PersistM.class.getName()).log(Level.ALL,
"saveEntityChanges: " + eString, e);
262 EntityManager em =
getEM();
264 EntityTransaction transaction = em.getTransaction();
266 entity = em.merge(entity);
269 transaction.commit();
270 }
catch (Exception e) {
273 if (entity != null) {
274 eString = entity.toString();
276 Logger.getLogger(PersistM.class.getName()).log(Level.ALL,
"removeEntity: " + eString, e);
292 EntityManager em =
getEM();
293 EntityTransaction transaction = em.getTransaction();
297 Query q1 = em.createQuery(
"DELETE FROM " + tableName);
299 transaction.commit();
303 Logger.getLogger(PersistM.class.getName()).log(Level.ALL,
"Can't delete content of table: " + tableName, e);
boolean persistEntity(Object entity)
boolean removeEntity(Object entity)
Persistence manager (database manipulator)
Object saveEntityChanges(Object entity)
Object getEntityById(String entityName, int id)
boolean deleteTable(String tableName)
boolean persistEntities(ArrayList< Object > entity)
List getEntitiesByName(String entityName)
static final int LOG_LEVEL
static final int LOG_LEVEL_ALL
EntityManagerFactory entityManagerFactory
List queryDB(String queryName, Object[] params)
List queryDB(String queryName)