Conserve is an open source persistence API. It features automatic Object-Relational Mapping (ORM).
Conserve lets you do more with less.
Feature requests and bug reports
Source Forge forums for Conserve. Please submit bug reports here.
Check out latest source version.
Browse JavaDoc generated documentation.
Download JavaDoc generated documentation.
A: Hibernate requires XML configuration or specialised tags and it does not respect class inheritance relations.
Q: Why not use JPA 2.0 ( JSR 317) which preserves class inheritance relations?
A: JPA is needlessly complex. For example, the user is required to specify if inter-class relations are OneToOne, OneToMany, ManyToOne or ManyToMany using annotations, despite the fact that this informationcan be deduced using introspection on the class definition itself.
Conserve aims to give the user the same power as JPA 2.0 without the complexity.
Q: What is Transitive Persistence?
A: If object A refers to object B and A is persisted, B isautomatically persisted. If a third object, C, also references B and C is persisted, the record of object B is not duplicated. This means thatif you retrieve A and C at a later time, B will be automatically retrieved and A and C will both reference the same object.
Q: What is Instance Consistency?
A: Objects are not retrieved from storage if they are already in memory, instead a reference to the existing object is returned. This prevents the problem where two references to the same database entity are modified separately by application code.
Q: Why is search-by-example a good thing?
A: There are four reasons:
A: Yes, we don't encourage it but it is simple to do so, have a look at the ConnectionWrapper.getConnection()method, it lets you access a raw connection.
Q: Why isn't database engine X supported?
A: We're adding support for database engines as fast as we can. If you would like us to add support for a particular DB engine, please drop us a note (if it's an open source DB) or send a message to the manufacturer (if it's a proprietary DB).
Q: Why is database neutrality a good thing?
A: Database neutrality means you can easily switch between different database vendors - just by changing a single line.
This makes it easier to find the optimal database for your application - there's no need to rely on general performance measures and guesswork.
It also means you can easily migrate from one database to another, should your needs change.
Most importantly it means you can forget about implementation-specific SQL variations and dialects.
Q: Can I help?
A: Yes, we're grateful for any help. We welcome graphic designers (we need a logo), web designers, Java programmers, SQL gurus and anyone who wants to make a better, simpler ORM library. See the project page for details.
Comparison of different SQL implementations
This means, in practical terms, that you can include Conserve in your commercial application.