Package javax.persistence

Examples of javax.persistence.EntityManager


   * 获取属性查询方式的返回结果
   * @param parameters 参数
   * @return
   */
  private Object propertyResult(Object[] parameters) {
    EntityManager em = getContext().getEntityManager();
    Annotation[][] annos = method.getParameterAnnotations();
    Named named = null;
    for (Annotation a : annos[0]) {
      final Class<? extends Annotation> clazz = a.annotationType();
      if (clazz.equals(Named.class)) {
        named = (Named) a;
      }
    }
    if (named == null)
      return em.find(getMethodReturnType(), parameters[0]);
    else {
      String ejbql = "from " + getMethodReturnType().getSimpleName() + " entity where entity." + named.value()
              + "=?";
      Query query = em.createQuery(ejbql);
      query.setParameter(1, parameters[0]);
      return query.getSingleResult();
    }
  }
View Full Code Here


    }
  }
 
  private Query getQuery() {
    Retrieve retrieve = getAnnotation();
    EntityManager em = getContext().getEntityManager();
    if (StringUtils.isNotBlank(retrieve.namedQuery()))
      return em.createNamedQuery(retrieve.namedQuery());
    if (retrieve.nativeQuery()) {
      if (retrieve.resultClass().equals(void.class))
        return em.createNativeQuery(retrieve.query());
      else
        return em.createNativeQuery(retrieve.query(), retrieve.resultClass());
    } else
      return em.createQuery(retrieve.query());
  }
View Full Code Here

  @Override
  public Object execute(Object[] parameters) {
    if (parameters.length == 0)
      return null;
    EntityManager em = getContext().getEntityManager();
    if (parameters[0].getClass().isArray()) {
      for (Object entity : (Object[]) parameters[0]) {
        entity = em.merge(entity);
      }
    } else {
      parameters[0] = em.merge(parameters[0]);
    }
    return null;
  }
View Full Code Here

    }
  }
 
  private Query getQuery() {
    Find find = getAnnotation();
    EntityManager em = getContext().getEntityManager();
    if (StringUtils.isNotBlank(find.namedQuery()))
      return em.createNamedQuery(find.namedQuery());
    if (find.nativeQuery()) {
      if (find.resultClass().equals(void.class))
        return em.createNativeQuery(find.query());
      else
        return em.createNativeQuery(find.query(), find.resultClass());
    } else
      return em.createQuery(find.query());
  }
View Full Code Here

    @Transactional
    @Override public final void remove(DomainEntity entity) {
        Assert.notNull(entity);
        Assert.notNull(entity.getId());
        EntityManager em = getEntityManager();
        try {
            em.remove(entity);
        } catch (IllegalArgumentException ie) {
            logger.debug("Error removing entity from DB: " + ie.getMessage() + ". Trying to reattach and then remove the entity");
            remove(entity.getClass(), entity.getId());
        }
    }
View Full Code Here

     * Gets the current entity manager (or create one) for the given transaction
     * if there is one.
     * @return an entitymanager
     */
    public synchronized EntityManager getCurrent() {
        EntityManager current = null;

        // Get current transaction (if any)
        Transaction currentTx = null;
        try {
            currentTx = JTransactionManager.getTransactionManager().getTransaction();
View Full Code Here

     * Builds a new Entity manager for the given transaction.
     * @param tx transaction on which associate the entity manager
     * @return built entity manager.
     */
    private EntityManager buildNewTxEntityManager(final Transaction tx) {
        EntityManager entityManager = this.entityManagerFactory.createEntityManager();

        /**
         * The persistence context is created and then associated with the
         * current JTA transaction. The persistence context ends when the
         * associated JTA transaction commits or rolls back,
View Full Code Here

            EZBPersistenceUnitManager persistenceUnitManager = this.injectionHolder.getPersistenceUnitManager();
            for (IENCBinding<IJavaxPersistenceContext> binding : this.encBindingHolder.getPersistenceContextBindings()) {
                String encName = binding.getName();
                String unitName = binding.getValue().getUnitName();
                PersistenceContextType type = binding.getValue().getType();
                EntityManager em = persistenceUnitManager.getEntityManager(unitName, type);

                try {
                    createSubcontexts(envCtx, encName);
                    envCtx.rebind(encName, em);
                    if (this.logger.isDebugEnabled()) {
View Full Code Here

     * @param entityId the identifier of the entity that the listenr methdos was
     *        called.
     */
    public void insertCallbackLogger(final String className, final CallbackType callbackEvent,
            final String callbackClassName, final int entityId) {
        EntityManager entityManager = entityManagerFactory.createEntityManager();

        ListenerLogger logger = new ListenerLogger();
        logger.setCallbackClassName(callbackClassName);
        logger.setCallbackEvent(callbackEvent);
        logger.setClassName(className);
        logger.setInsertionDate(getTime());
        logger.setEntityId(entityId);
        entityManager.persist(logger);
        entityManager.flush();
    }
View Full Code Here

     * @param entityId the the entity for which the listener was called.
     * @return the list of results.
     */
    public List findLifecycleEventByEntity(final String className, final CallbackType callbackEvent,
            final int entityId) {
        EntityManager entityManager = entityManagerFactory.createEntityManager();
        Query query = entityManager.createQuery("SELECT e FROM ListenerManager "
                + "e WHERE e.className = :className AND e.callbackEvent= :event AND e.entityId = :entityId");
        query.setParameter("className", className);
        query.setParameter("event", callbackEvent);
        query.setParameter("entityId", new Integer(entityId));
        return query.getResultList();
View Full Code Here

TOP

Related Classes of javax.persistence.EntityManager

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.