package com.yunspace.dropwizard.xml.example.db; import java.util.List; import org.hibernate.SessionFactory; import com.google.common.base.Optional; import com.yunspace.dropwizard.xml.example.core.Pirate; import io.dropwizard.hibernate.AbstractDAO; public class PirateDAO extends AbstractDAO<Pirate> { public PirateDAO(SessionFactory factory) { super(factory); } public Pirate create(Pirate pirate) { return persist(pirate); } public Optional<Pirate> findById(Long id) { return Optional.fromNullable(get(id)); } public List<Pirate> findAll() { return currentSession().createCriteria( Pirate.class ).list(); } public void update(Pirate pirate) { this.currentSession().update(Pirate.class.getName(), pirate); } public void delete(Pirate pirate) { this.currentSession().delete(Pirate.class.getName(), pirate); } }