1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
| // ApplicationFacade.java
package com.sample.persistence;
import java.util.List;
import java.util.logging.Level;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
@Stateless
public class ApplicationFacade implements ApplicationFacadeLocal {
// property constants
@PersistenceContext
private EntityManager entityManager;
public void save(Application entity) {
RuntimeException re = new RuntimeException("Application item cannot be created");
LogUtil.log("Application entity cannot be created", Level.SEVERE, re);
throw re;
}
public void delete(Application entity) {
RuntimeException re = new RuntimeException("Application item cannot be deleted");
LogUtil.log("Application entity cannot be deleted", Level.SEVERE, re);
throw re;
}
public Application update(Application entity) {
LogUtil.log("updating Application instance", Level.INFO, null);
try {
Application result = entityManager.merge(entity);
LogUtil.log("update successful", Level.INFO, null);
return result;
} catch (RuntimeException re) {
LogUtil.log("update failed", Level.SEVERE, re);
throw re;
}
}
public Application findById(Long id) {
LogUtil.log("finding Application instance with id: " + id, Level.INFO, null);
try {
Application instance = entityManager.find(Application.class, id);
return instance;
} catch (RuntimeException re) {
LogUtil.log("find failed", Level.SEVERE, re);
throw re;
}
}
@SuppressWarnings("unchecked")
public List<Application> findByProperty(String propertyName, final Object value, final int... rowStartIdxAndCount) {
LogUtil.log("finding Application instance with property: " + propertyName + ", value: " + value, Level.INFO, null);
try {
final String queryString = "select model from Application model where model." + propertyName + "= :propertyValue";
Query query = entityManager.createQuery(queryString);
query.setParameter("propertyValue", value);
if (rowStartIdxAndCount != null && rowStartIdxAndCount.length > 0) {
int rowStartIdx = Math.max(0, rowStartIdxAndCount[0]);
if (rowStartIdx > 0) {
query.setFirstResult(rowStartIdx);
}
if (rowStartIdxAndCount.length > 1) {
int rowCount = Math.max(0, rowStartIdxAndCount[1]);
if (rowCount > 0) {
query.setMaxResults(rowCount);
}
}
}
return query.getResultList();
} catch (RuntimeException re) {
LogUtil.log("find by property name failed", Level.SEVERE, re);
throw re;
}
}
@SuppressWarnings("unchecked")
public List<Application> findAll(final int... rowStartIdxAndCount) {
LogUtil.log("finding all Application instances", Level.INFO, null);
try {
final String queryString = "select model from Application model";
Query query = entityManager.createQuery(queryString);
if (rowStartIdxAndCount != null && rowStartIdxAndCount.length > 0) {
int rowStartIdx = Math.max(0, rowStartIdxAndCount[0]);
if (rowStartIdx > 0) {
query.setFirstResult(rowStartIdx);
}
if (rowStartIdxAndCount.length > 1) {
int rowCount = Math.max(0, rowStartIdxAndCount[1]);
if (rowCount > 0) {
query.setMaxResults(rowCount);
}
}
}
return query.getResultList();
} catch (RuntimeException re) {
LogUtil.log("find all failed", Level.SEVERE, re);
throw re;
}
}
} |
Partager