org.yestech.lib.jpa.YesJpaTemplate Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of yeslib Show documentation
Show all versions of yeslib Show documentation
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.
/*
* 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();
}
});
}
}