Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.eu.evaluation.server.dao.eva; import com.eu.evaluation.model.EntityEnum; import com.eu.evaluation.model.eva.EvaluateItem; import com.eu.evaluation.model.eva.EvaluateTypeEnum; import com.eu.evaluation.model.eva.history.EvaluateVersion; import com.eu.evaluation.server.dao.AbstractDAO; import java.text.MessageFormat; import java.util.List; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.stereotype.Repository; /** * * @author dell */ @Repository public class EvaluateItemDAO extends AbstractDAO<EvaluateItem> { /** * ?? * @param ev * @return */ public List<EvaluateItem> findUnCopied(EvaluateVersion ev) { String jpql = "select t from EvaluateItem t " + "where not exists (select 1 from EvaluateItemHistory h where t.id = h.orgEvaluateItemId" + " and h.evaluateVersion.id = :evid)"; MapSqlParameterSource params = new MapSqlParameterSource("evid", ev.getId()); return this.query(jpql, params); } /** * ?? * @param <T> * @param evaluateTypeEnum * @param entityEnum * @return */ public <T extends EvaluateItem> List<T> find(EvaluateTypeEnum evaluateTypeEnum, EntityEnum entityEnum) { String jpql = "select t from {0} t where t.objectDictionary.instanceType = :instanceType"; jpql = MessageFormat.format(jpql, evaluateTypeEnum.getEvaClass().getName()); MapSqlParameterSource params = new MapSqlParameterSource("instanceType", entityEnum.getInstanceType()); return this.createQuery(jpql, params).getResultList(); } }