@Override @Transactional @Secured("ACL_ADD_ITEM") // Protection from inMemory realization from /acl public void save(Item item) { if (item.getId() == null) { em.persist(item); } else { em.merge(item); } }
@Override @PostAuthorize("hasPermission(#item, 'WRITE')") // protection from acl tables public boolean delete(Item item) { return em.createNamedQuery(Item.DELETE).setParameter("id", item.getId()).executeUpdate() != 0; }