protected void enqueueItem(EntityLogItem item) { EntityManagerContext context = persistence.getEntityManagerContext(); List<EntityLogItem> items = context.getAttribute(EntityLog.class.getName()); if (items == null) { items = new ArrayList<>(); context.setAttribute(EntityLog.class.getName(), items); } items.add(item); }
@Transactional @Override public void declarativeTransaction() { checkTestMode(); persistence.getEntityManager().find(User.class, UUID.fromString("60885987-1b61-4247-94c7-dff348347f93")); persistence.getEntityManagerContext().setAttribute("test", "test_value"); }
@Override public void flush() { EntityManagerContext context = persistence.getEntityManagerContext(); List<EntityLogItem> items = context.getAttribute(EntityLog.class.getName()); if (items == null || items.isEmpty()) return; for (EntityLogItem item : items) { List<EntityLogItem> sameEntityList = items.stream() .filter(entityLogItem -> entityLogItem.getDbGeneratedIdEntity() != null ? entityLogItem.getDbGeneratedIdEntity().equals(item.getDbGeneratedIdEntity()) : entityLogItem.getObjectEntityId().equals(item.getObjectEntityId())) .collect(Collectors.toList()); EntityLogItem itemToSave = sameEntityList.get(0); computeChanges(itemToSave, sameEntityList); saveItem(itemToSave); } }
persistence.getEntityManagerContext(storeName).setDbHints(context.getDbHints());
em.setSoftDeletion(false); persistence.getEntityManagerContext(storeName).setDbHints(context.getDbHints());
EntityManager em = persistence.getEntityManager(storeName); em.setSoftDeletion(context.isSoftDeletion()); persistence.getEntityManagerContext(storeName).setDbHints(context.getDbHints()); EntityManager em = persistence.getEntityManager(storeName); em.setSoftDeletion(context.isSoftDeletion()); persistence.getEntityManagerContext(storeName).setDbHints(context.getDbHints());
EntityManager em = persistence.getEntityManager(storeName); em.setSoftDeletion(context.isSoftDeletion()); persistence.getEntityManagerContext(storeName).setDbHints(context.getDbHints());