I am very pleased to announce the first release of Mardao 2! The following requirements have been considered when rewriting from scratch:
- Domain objects are now true POJOs with Annotations - no need to extend a class or implement an interface
- Application code and generated code are completely agnostic of persistence type
- @CreatedBy and @UpdatedBy are new auto-populated fields
- @GeoLocation supports creating geo-hashes to do nearby and spatial searches
- Domain fields can be of basically any field
- Support for transient fields - by omitting @Basic annotation
- All non-unique queries return an Iterable or a page
- Support for cursors and cursor keys
- Generator uses reflection to scan objects
- True separation between generic Dao functionality, persistence-specific code and domain-specific methods
Example apps in production using Mardao
The following apps or services are in production and are using mardao:
- Heathrow Airport Guide (Backend / Google App Engine)
- TwoForOne voucher app (Android application / SQLite)
- European Directories Mobile (XHTML web app / Spring JDBC / MySQL)
- SonyEricsson Update Service (Backend / Spring JDBC / Oracle)
- Golden Gekko device detection service (Backend / Google App Engine)
- Google Search Prototype (BlackBerry / SQLite)
Read more at the mardao wiki on GitHub: https://github.com/sosandstrom/mardao/wiki