EventLabelRepositoryImpl.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.tradecloud.repository.impl;
import java.util.List;
import org.hibernate.Criteria;
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.model.hfcmanagement.EventLabel;
import com.tradecloud.dto.eventlabel.EventLabelSearch;
import com.tradecloud.repository.EventLabelRepository;
import com.tradecloud.repository.base.impl.RepositoryBaseImpl;
@Repository(value = "eventLabelRepository")
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
public class EventLabelRepositoryImpl extends RepositoryBaseImpl<EventLabel, Object> implements EventLabelRepository {
private static final long serialVersionUID = 1L;
private static final String NAME = "name";
@Override
public EventLabel findByUniqueFields(EventLabel eventLabel) {
List<EventLabel> search = search(EventLabelSearch.uniqueSearch(eventLabel));
if (!search.isEmpty()) {
return search.get(0);
}
return null;
}
@Override
public List<EventLabel> search(EventLabelSearch search) {
Criteria criteria = getSessionCustom().createCriteria(EventLabel.class);
if (search.getUserName() != null) {
criteria.add(Restrictions.eq("userName", search.getUserName()));
}
if (search.getName() != null) {
criteria.add(Restrictions.ilike("name", search.getName()));
}
return criteria.list();
}
@Override
public List<EventLabel> findAll() {
return super.findAll();
}
}