package app.hibernate.com.aol.micro.server; import java.util.List; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.criterion.Example; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.aol.micro.server.auto.discovery.RestResource; @Component @Path("/persistence") public class PersistentResource implements RestResource { private final SessionFactory sessionFactory; @Autowired public PersistentResource(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } @GET @Produces("text/plain") @Path("/create") public String createEntity() { final Session session = sessionFactory.openSession(); session.save(HibernateEntity.builder() .name("test") .value("value").build()); session.flush(); return "ok"; } @GET @Produces("application/json") @Path("/get") public List<HibernateEntity> get(){ final Session session = sessionFactory.openSession(); Criteria criteria = session.createCriteria(HibernateEntity.class) .add(Example.create(HibernateEntity.builder() .name("test") .build())); return criteria.list(); } }