TradeAgreementRepositoryImpl.java
package com.tradecloud.repository.impl;
import com.tradecloud.domain.configuration.TradeAgreements;
import com.tradecloud.domain.duties.TradeAgreement;
import com.tradecloud.domain.place.Country;
import com.tradecloud.repository.TradeAgreementRepository;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Created by ds on 2015/07/22.
*/
@Repository(value = "tradeAgreementRepository")
public class TradeAgreementRepositoryImpl extends RepositoryBaseImplNoSearch<TradeAgreements> implements TradeAgreementRepository {
@Override
public List<TradeAgreements> findTradeAgreements(TradeAgreement tradeAgreement) {
Criteria searchCriteria = getSessionCustom().createCriteria(TradeAgreements.class);
searchCriteria.add(Restrictions.eq("tradeAgreement", tradeAgreement));
@SuppressWarnings("unchecked") List<TradeAgreements> results = searchCriteria.list();
return results;
}
@Override
public List<TradeAgreements> findByCountry(Country countryOfOrigin) {
String tradeHql = "Select ta from TradeAgreements ta inner join ta.countries c where c.code=:countrycode";
Query query = getSession().createQuery(tradeHql);
query.setParameter("countrycode", countryOfOrigin.getCode());
return query.list();
}
@Override
public List<TradeAgreements> getAllTradeAgreements() {
String tradeHql = "Select ta from TradeAgreements ta order by ta.id desc";
Query query = getSession().createQuery(tradeHql);
return query.list();
}
}