package com.griddynamics.jagger.jaas.storage.impl;
import com.griddynamics.jagger.jaas.storage.AbstractCrudDao;
import com.griddynamics.jagger.jaas.storage.DbConfigDao;
import com.griddynamics.jagger.jaas.storage.model.DbConfigEntity;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* Hibernate based transactional implementation of {@link com.griddynamics.jagger.jaas.storage.CrudDao} interface for
* {@link DbConfigEntity}.
*/
@SuppressWarnings("unchecked")
@Repository
public class DbConfigDaoImpl extends AbstractCrudDao<DbConfigEntity, Long> implements DbConfigDao {
@Override
@Transactional
public DbConfigEntity read(Long configId) {
return (DbConfigEntity) getCurrentSession().get(DbConfigEntity.class, configId);
}
@Override
@Transactional
public List<DbConfigEntity> readAll() {
return getCurrentSession().createCriteria(DbConfigEntity.class).list();
}
@Override
@Transactional
public void create(DbConfigEntity config) {
getCurrentSession().save(config);
}
@Override
@Transactional
public void update(DbConfigEntity config) {
getCurrentSession().update(config);
}
@Override
@Transactional
public void createOrUpdate(DbConfigEntity config) {
getCurrentSession().saveOrUpdate(config);
}
@Override
@Transactional
public void delete(Long configId) {
DbConfigEntity dbConfigEntity = new DbConfigEntity();
dbConfigEntity.setId(configId);
delete(dbConfigEntity);
}
@Override
@Transactional
public void delete(DbConfigEntity config) {
getCurrentSession().delete(config);
}
}