From Wiki
This is a list of ORM-frameworks I would consider when starting a new project today.
The list does not claim to be complete. For an alternative list look here.
Most familiar are the mainstream JPA providers :
There are other, less well known JPA providers:
Frameworks following another paradigm:
| Name
| Facts
|
| Carbonado
|
- Persistence abstraction layer for Java applications, providing a relational view to the underlying persistence technology.
- Entities are defined as interfaces or abstract classes, implementations are generated at runtime.
- Entities follow the ActiveRecord pattern.
- UnitOfWork, IdentityMap, DirtyTracking, CascadingPersistence are not supported, OptimisticLocking is supported
- Querying functionality independent of SQL
- Supports non-SQL persistence backend (Berkley DB)
- Relational concepts are not much abstracted (types are object representations of relations, associations are realized with joins based on IDs)
- Schema-generation is not supported
|
| iBatis
|
- Coupling POJO-objects with SQL statements or stored procedures using a XML descriptor
- All artifacts (Classes, SQL, XML) are created by the developer. There exist supporting generators.
- Proven and well documented
- Versions for Java, .NET and Ruby available
|
| Ebean
|
- Tries to provide a simpler approach to ORM by not using a PersistenceContext
- DirtyTracking is realized by the entity itself.
- Mapping annotations are compatible to JPA
- Supports an OO-Query-API and its own query-language.
|
| activeobjects
|
- Simple persistence solution leaning towards the ActiveRecord pattern.
- Supports 'no-mapping' approach by relying on conventions.
- No external dependencies.
- Easy integration.
- Advanced schema generation and management via migrations.
- Relies on SQL for querying.
|
| persist
|
- Minimalistic and simple persistence solution leaning towards the ActiveRecord pattern.
- Supports 'no-mapping' approach by relying on conventions.
- No external dependencies.
- Easy integration.
- Relies on SQL for querying.
- Features very limited: associations not supported (at least not documented)?
|
| dreamsource-orm
|
|
|
| Apache empire-db
|
|
For the Java-Platform there exist other interesting alternatives: