package org.multibit.mbm.db.dao.hibernate; import com.google.common.base.Optional; import org.multibit.mbm.db.dao.SupplierDao; import org.multibit.mbm.core.model.Supplier; import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.stereotype.Repository; @Repository("hibernateSupplierDao") public class HibernateSupplierDao extends BaseHibernateDao<Supplier> implements SupplierDao { @Override public Optional<Supplier> getSupplierById(Long id) { return getById(Supplier.class, id); } @Override protected Supplier initialized(Supplier entity) { hibernateTemplate.initialize(entity.getDeliveries()); return entity; } @Override public Supplier saveOrUpdate(Supplier supplier) { hibernateTemplate.saveOrUpdate(supplier); return supplier; } /** * Force an immediate in-transaction flush (normally only used in test code) */ public void flush() { hibernateTemplate.flush(); } public void setHibernateTemplate(HibernateTemplate hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; } }