ForexGroupDealStateConfigRepositoryImpl.java
package com.tradecloud.repository.impl;
import java.util.List;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import com.tradecloud.domain.configuration.ForexGroupDealStateConfig;
import com.tradecloud.domain.model.ForexGroup;
import com.tradecloud.domain.model.deal.DealStatus;
import com.tradecloud.repository.ForexGroupDealStateConfigRepository;
import com.tradecloud.repository.base.impl.RepositoryBaseImpl;
@Repository(value = "forexGroupDealStateConfigRepository")
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
public class ForexGroupDealStateConfigRepositoryImpl extends RepositoryBaseImpl<ForexGroupDealStateConfig, Object> implements
ForexGroupDealStateConfigRepository {
@Override
public List<ForexGroupDealStateConfig> find(ForexGroup forexGroup, DealStatus dealStatus) {
DetachedCriteria searchCriteria = DetachedCriteria.forClass(getPersistentClass(), "forexGroupDealStateConfig");
if (forexGroup != null) {
searchCriteria.add(Restrictions.eq("forexGroup", forexGroup));
}
if (dealStatus != null) {
searchCriteria.add(Restrictions.eq("dealStatus", dealStatus));
}
return getExecutableCriteriaList(searchCriteria, null);
}
}