q.setParameter(1, MAX_RECORDS); List<Object[]> userList = q.getResultList(); tx.commitRetaining(); deleteQuery.setParameter(1, toDelete); deleteQuery.executeUpdate(); tx.commitRetaining(); tx.commit(); } finally { tx.end();
@Override public void storeDynamicAttributes(BaseGenericIdEntity entity) { try (Transaction tx = persistence.getTransaction()) { doStoreDynamicAttributes(entity); tx.commit(); } }
deleteSettingsQuery.setParameter(1, toUser.getId()); deleteSettingsQuery.executeUpdate(); tx.commitRetaining(); em = persistence.getEntityManager(); tx.commit();
@Override public Context begin() { Transaction tx = persistence.createTransaction(); try { List<ScheduledTask> tasks = getTasks(); return new ContextImpl(tasks, tx); } catch (Exception e) { tx.end(); throw new RuntimeException(e); } }
@Override public void runInTransaction(String store, Transaction.Runnable runnable) { createTransaction(store).execute(store, runnable); }
@Override public EntitySnapshot getLastEntitySnapshot(MetaClass metaClass, Object referenceId) { if (referenceId instanceof Entity) { throw new IllegalArgumentException(format("Reference id can not be an entity: %s", referenceId.getClass())); } MetaClass originalMetaClass = extendedEntities.getOriginalOrThisMetaClass(metaClass); View view = metadata.getViewRepository().getView(EntitySnapshot.class, "entitySnapshot.browse"); Transaction tx = persistence.createTransaction(); try { EntityManager em = persistence.getEntityManager(); TypedQuery<EntitySnapshot> query = em.createQuery( format("select e from sys$EntitySnapshot e where e.entityMetaClass = :metaClass and" + " e.entity.%s = :entityId order by e.snapshotDate desc", referenceToEntitySupport.getReferenceIdPropertyName(originalMetaClass)), EntitySnapshot.class) .setParameter("metaClass", originalMetaClass.getName()) .setParameter("entityId", referenceId) .setMaxResults(1) .setView(view); return query.getFirstResult(); } finally { tx.close(); } }
@Override public void migrateAttachmentsToFileStorage(List<SendingAttachment> attachments) { try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); for (SendingAttachment attachment : attachments) { migrateAttachment(em, attachment); } tx.commit(); } }
@Override public SecurityState computeSecurityState(Entity entity) { Preconditions.checkNotNullArgument(entity, "entity is null"); SecurityState state; String storeName = metadataTools.getStoreName(metadata.getClassNN(entity.getClass())); Transaction tx = persistence.createTransaction(storeName); try { EntityManager em = persistence.getEntityManager(storeName); Entity managedEntity = em.merge(entity); support.setupAttributeAccess(managedEntity); state = BaseEntityInternalAccess.getSecurityState(managedEntity); // do not commit the transaction } finally { tx.end(); } return state; } }
@Override public <T> T callInTransaction(String store, Transaction.Callable<T> callable) { return createTransaction(store).execute(store, callable); }
@Override public void migrateEmailsToFileStorage(List<SendingMessage> messages) { try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); for (SendingMessage msg : messages) { migrateMessage(em, msg); } tx.commit(); } }
@Override public void runInTransaction(Transaction.Runnable runnable) { createTransaction().execute(runnable); }
protected Set<String> getAccessTokenValuesByUserLoginFromDatabase(String userLogin) { try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); List<String> result = em.createQuery("select e.tokenValue from sys$AccessToken e where e.userLogin = :userLogin", String.class) .setParameter("userLogin", userLogin) .getResultList(); tx.commit(); return new HashSet<>(result); } }
@Override public <T> T callInTransaction(Transaction.Callable<T> callable) { return createTransaction().execute(callable); }
@Override public EntitySnapshot createSnapshot(Entity entity, View view, Date snapshotDate, User author) { EntitySnapshot snapshot = createEntitySnapshot(entity, view, snapshotDate, author); Transaction tx = persistence.createTransaction(); try { EntityManager em = persistence.getEntityManager(); em.persist(snapshot); tx.commit(); } finally { tx.end(); } return snapshot; }
@Nullable protected String getAccessTokenValueByRefreshTokenValueFromDatabase(String refreshTokenValue) { String accessTokenValue; try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); accessTokenValue = em.createQuery("select e.tokenValue from sys$AccessToken e where e.refreshTokenValue = :refreshTokenValue", String.class) .setParameter("refreshTokenValue", refreshTokenValue) .getFirstResult(); tx.commit(); return accessTokenValue; } }
protected long getResult(Sequence sequence, String sqlScript) { lock.readLock().lock(); try { Transaction tx = persistence.getTransaction(getDataStore(sequence)); try { checkSequenceExists(sequence); Object value = executeScript(sequence, sqlScript); tx.commit(); if (value instanceof Long) return (Long) value; else if (value instanceof BigDecimal) return ((BigDecimal) value).longValue(); else if (value instanceof BigInteger) return ((BigInteger) value).longValue(); else if (value instanceof String) return Long.parseLong((String) value); else if (value == null) throw new IllegalStateException("No value returned"); else throw new IllegalStateException("Unsupported value type: " + value.getClass()); } finally { tx.end(); } } finally { lock.readLock().unlock(); } }