All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.yestech.lib.jpa.YesJpaTemplate Maven / Gradle / Ivy

Go to download

A collection of classes that can be used across yestech artifacts/components, but must not be dependant on any yestech component. Most of the code is utility type code. When more than a few classes are found to be in a package or the package start to handle more that a few reposibilities then a new independant component is created and the existing code in yeslib is ported to the new component.

There is a newer version: 1.2.0
Show newest version
/*
 * Copyright LGPL3
 * YES Technology Association
 * http://yestech.org
 *
 * http://www.opensource.org/licenses/lgpl-3.0.html
 */

package org.yestech.lib.jpa;

import org.springframework.dao.DataAccessException;
import org.springframework.orm.jpa.JpaCallback;
import org.springframework.orm.jpa.JpaTemplate;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceException;
import javax.persistence.Query;


/**
 *
 *
 */
public class YesJpaTemplate extends JpaTemplate implements YesJpaOperations
{

    public int bulkUpdateNamedQuery(final String queryName, final Object... values) throws DataAccessException
    {

        return (Integer) execute(new JpaCallback()
        {
            @Override
            public Object doInJpa(EntityManager em) throws PersistenceException {
                Query queryObject = em.createNamedQuery(queryName);
                if (values != null)
                {
                    for (int i = 0; i < values.length; i++)
                    {
                        queryObject.setParameter(i, values[i]);
                    }
                }
                return queryObject.executeUpdate();
            }
        });

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy