// ======================================================================== // Copyright (C) zeroth Project Team. All rights reserved. // GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 // http://www.gnu.org/licenses/agpl-3.0.txt // ======================================================================== package zeroth.framework.enterprise.infra.persistence; import java.io.Serializable; import javax.enterprise.inject.Default; import javax.persistence.EntityManager; import javax.persistence.Query; import zeroth.framework.enterprise.shared.Persistable; /** * 原始データ永続化サービス(JPA2/NativeQuery) * <p> * {@link SimplePersistenceServiceImpl} へDB固有クエリ(SQL)を追加したサービスである。 * </p> * @param <E> エンティティ型 * @param <ID> 識別子オブジェクト型 * @since JPA 1.0 * @author nilcy */ @Default public class NativePersistenceServiceImpl<E extends Persistable<ID>, ID extends Serializable> extends SimplePersistenceServiceImpl<E, ID> implements NativePersistenceService<E, ID> { /** 識別番号 */ private static final long serialVersionUID = -1029454631523751121L; /** * コンストラクタ * @param manager エンティティマネージャ * @param clazz エンティティクラス */ public NativePersistenceServiceImpl(final EntityManager manager, final Class<E> clazz) { super(manager, clazz); } /** {@inheritDoc} */ @Override public Query createNativeQuery(final String sql) { return manager.createNativeQuery(sql); } /** {@inheritDoc} */ @Override public Query createNativeQuery(final String sql, final Class<?> resultClass) { return manager.createNativeQuery(sql, resultClass); } /** {@inheritDoc} */ @Override public Query createNativeQuery(final String sql, final String resultSetMappingName) { return manager.createNativeQuery(sql, resultSetMappingName); } }