What do you think of the following EJB inspired by the facade
generation in Netbeans?
Any criticisms? Any improvements?
public interface EntityOperations {
void persist(Object entity);
<T> T merge(T entity);
void destroy(Object entity);
<T> T find(Class<T> entClass, Object key);
<T> Collection<T> findAll(Class<T> entClass);
}
@Stateless
public class EntityOperationsBean implements EntityOperations {
@PersistenceContext EntityManager em;
void persist(Object entity) { em.persist(entity); }
<T> T merge(T entity) { return em.merge(entity); }
void destroy(Object entity) { em.remove(merge(entity)); }
<T> T find(Class<T> entClass, Object key) { return em.find(entClass, key); }
<T> Collection<T> findAll(Class<T> entClass) {
String sql = "SELECT o FROM "+entClass.getSimpleName()+" AS o";
return em.createQuery(sql).getResultList();
}
}