3 import java.util.ArrayList;
4 import java.util.HashSet;
6 import javax.persistence.EntityManager;
7 import javax.persistence.EntityManagerFactory;
8 import javax.persistence.EntityTransaction;
9 import javax.persistence.Persistence;
10 import javax.persistence.Query;
11 import javax.persistence.metamodel.Attribute;
12 import javax.persistence.metamodel.ManagedType;
13 import com.jamonapi.*;
22 public static EntityManagerFactory
emf = null;
23 public static EntityManager
em = null;
25 private static ArrayList<ManagedType<?>> tableList = null;
37 emf = Persistence.createEntityManagerFactory(
"JPA");
38 em =
emf.createEntityManager();
43 tableList =
new ArrayList<ManagedType<?>>();
44 for (ManagedType<?> table :
em.getMetamodel().getManagedTypes()) {
84 List<Object> results =
getData(table);
101 public static List<Object>
getData(Class tableName) {
106 .getString(
"ModelController.4")
107 + tableName.getName());
112 List<Object> results = null;
114 Query query =
em.createQuery(
"SELECT C FROM " + tableName.getName()
116 results = query.getResultList();
117 }
catch (Exception e) {
118 System.out.println(
"");
120 .getString(
"ModelController.0") + e.getMessage());
143 String column, String clause) {
144 List<Object> results = null;
146 Query query =
em.createQuery(
"SELECT C FROM " + tableName.getName()
147 +
" C WHERE C." + column +
"=:clause");
148 query.setParameter(
"clause", clause);
149 results = query.getResultList();
150 }
catch (Exception e) {
151 System.out.println(
"");
153 .getString(
"ModelController.0") + e.getMessage());
166 String column, Integer clause) {
167 List<Object> results = null;
169 Query query =
em.createQuery(
"SELECT C FROM " + tableName.getName()
170 +
" C WHERE C." + column +
"=:clause");
171 query.setParameter(
"clause", clause);
172 results = query.getResultList();
173 }
catch (Exception e) {
174 System.out.println(
"");
176 .getString(
"ModelController.0") + e.getMessage());
190 boolean result =
false;
192 EntityTransaction transaction = null;
194 transaction =
em.getTransaction();
211 transaction.commit();
214 }
catch (Exception e) {
215 if (transaction != null && transaction.isActive()) {
216 transaction.rollback();
219 System.out.println(
"");
221 .getString(
"ModelController.1") + e.getMessage());
231 refreshEntities(entity);
245 boolean result =
false;
249 EntityTransaction transaction = null;
251 transaction =
em.getTransaction();
258 entity =
em.merge(entity);
270 transaction.commit();
273 }
catch (Exception e) {
274 if (transaction != null && transaction.isActive()) {
275 transaction.rollback();
278 System.out.println(
"");
280 .getString(
"ModelController.2") + e.getMessage());
290 refreshEntities(entity);
304 boolean result =
false;
308 EntityTransaction transaction = null;
311 transaction =
em.getTransaction();
316 entity =
em.merge(entity);
329 transaction.commit();
332 }
catch (Exception e) {
333 if (transaction != null && transaction.isActive()) {
334 transaction.rollback();
337 System.out.println(
"");
339 .getString(
"ModelController.3") + e.getMessage());
349 refreshEntities(entity);
361 private static void refreshEntities(Object entity) {
367 emf.getCache().evictAll();
372 HashSet<Class> tablesHashSet =
new HashSet<Class>();
383 for (ManagedType<?> table : tableList) {
384 for (Attribute<?, ?> test : table.getAttributes()) {
385 if (test.getJavaType().isAssignableFrom(entity.getClass())) {
386 tempClass = table.getJavaType();
387 if (!tablesHashSet.contains(tempClass)) {
389 tablesHashSet.add(tempClass);