ClientUrlRepositoryImpl.java

package com.tradecloud.repository.impl;

import com.tradecloud.infrastructure.configuration.ClientUrl;
import com.tradecloud.repository.ClientUrlRepository;
import com.tradecloud.repository.base.impl.RepositoryBaseImpl;
import org.apache.log4j.Logger;
import org.hibernate.Criteria;
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 java.util.List;

/**
 * User Repository.
 * <p>
 * Note the SessionFactory used here is hard coded for the 'tradecloud'
 * database.
 * <p>
 * This is wired directly into the Spring security classes to be used for login.
 * ALso used by our UserService for other user actions.
 */
@Repository(value = "clientUrlRepository")
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
public class ClientUrlRepositoryImpl extends RepositoryBaseImpl<ClientUrl, Object> implements ClientUrlRepository {

    private static final long serialVersionUID = 1L;
    private static Logger logger = Logger.getLogger(ClientUrlRepositoryImpl.class);

    @Override
    public List<ClientUrl> findAll() {
        Query query = getCurrentSessionNoMulti().createQuery("from " + ClientUrl.class.getSimpleName());
        query.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
        return (List<ClientUrl>) query.list();
    }
}