ReportConfigRepositoryImpl.java
package com.tradecloud.repository.impl;
import java.util.List;
import org.hibernate.Query;
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.ReportConfig;
import com.tradecloud.domain.configuration.ReportConfigAttributes;
import com.tradecloud.repository.ReportConfigRepository;
import com.tradecloud.repository.base.impl.RepositoryBaseImpl;
@Repository(value = "reportConfigRepository")
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
public class ReportConfigRepositoryImpl extends RepositoryBaseImpl<ReportConfig, Object> implements ReportConfigRepository {
private static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
@Override
public List<ReportConfig> findAllActiveReports() {
Query query = getSession().createQuery("Select ta from ReportConfig ta where ta.active=true order by ta.id asc");
return query.list();
}
@SuppressWarnings("unchecked")
@Override
public List<ReportConfigAttributes> findActiveByReportName(String reportName) {
Query query =
getSession().createQuery(
"Select ta from ReportConfigAttributes ta where "
+ "ta.reportConfig.reportName=:reportName and ta.active=true order by ta.sortOrder asc");
query.setString("reportName", reportName);
return query.list();
}
@Override
public ReportConfig findByNameActive(String reportName) {
Query query =
getSession().createQuery(
"Select ta from ReportConfig ta where "
+ "ta.reportName=:reportName and ta.active=true");
query.setString("reportName", reportName);
return (ReportConfig) query.uniqueResult();
}
}