Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Why orman is better than other orms for you?
Clone this wiki locally
Many people ask why ORMAN is better than other Object-Relational Mapping tools.
The answer is it completely depends on your needs. As explained before, ORMAN is aimed small projects and common usages.
Here's a few comparisons with other Java ORM frameworks that can run on Android:
Hibernate is the cutting-edge project in ORM world. However it is around 4 MB and needs too much configuration for your small project. Probably it is bigger than your project. You don't need 70-80% of features in Hibernate. But in ORMAN, you'll be using almost 90% of the features. Because it is minimal as much as it can be.
OrmLite is a really cool project. However if you are not familiar with DAO concept, you might get little frustrated. If you use ORMAN, there are no such complicated terms. Configuring entities is harder in OrmLite.
ORMAN generates all the table and column names for you. In OrmLite, you configure it manually one by one. In ORMAN, those names are still customizable, of course. You don't even have to know table-field concept to use ORMAN. It handles all of it for you.
In OrmLite, you write more boilerplate code on entities, making database connections, querying database etc. ORMAN is much simpler.
That project is also a good hack. Its schema inference from Java classes is almost the same with ORMAN, but in ActiveRecord for Android, you can not make direct references and establish relationships in between entities like one to many, many to one. You still have to connect them with their primary keys.
In addition, in that project, record adding, modification is also done on database instance. In ORMAN, you can just invoke
.insert() method on your entity instance. That's all. On the other hand, ORMAN-using project might have little more boilerplate code than projects using this, however ORMAN is more practical to use.