warp-persist 1.0: persistence and transactions for Google Guice


News: warp-persist 1.0: persistence and transactions for Google Guice

  1. Warp-persist (now version 1.0) provides a thin layer of integration for injecting and managing persistence using Hibernate, JPA (so far TopLink Essentials, OpenJPA and Hibernate have shown success) or db4objects in Guice-driven applications. It provides support for declarative transactions and units-of-work using a flexible @Transactional annotation. warp-persist is configured as a standard Guice module, in a type-safe and simple manner using a Guice-style fluent interface:Guice.createInjector(PersistenceService .usingHibernate() .across(UnitOfWork.REQUEST) .buildModule());Dynamic Finders is a feature of warp-persist that automates data access and reduces boilerplate and repetitive DAO code in an intuitive, type-safe fashion:public interface PersonDao { @Finder("from Person") List listAll(); }...and the implementation is provided automatically by warp-persist. Dynamic Finders also work on abstract and concrete classes, and support parameter binding and pagination in a simple, idiomatic fashion. Unlike some approaches, warp-persist is unintrusive and does not wrap or abstract the underlying persistence interfaces, instead focusing purely on integration. Sometimes Guice is criticized for a lack of integration with the persistence and transaction layer. We believe warp-persist bridges this gap nicely, and in true Guice form: by being simple and type-safe.
  2. Congrats, Dhanji! It's nice to see first class support for @Transactional and seamless integration with Hibernate.
  3. For db4o specific configuration see: http://developer.db4o.com/blogs/community/archive/2008/03/03/use-db4o-in-you-guice-applications-through-warp.aspx Best!
  4. I am very anxious to try it.[ Go to top ]

    I am a big fan of IoC engines, and Guice is m favorite. This actually looks like it may give me an arguemnet to use Guice in more of my applications. I will try this functionality this weekend, but this does appears to be a major step forward in the functionality of Guice. Thank you.