17 | | |
18 | | I strongly dislike Hibernate. Instead, I mostly prefer to use Spring JDBC Template. However, with JDBC template, if you need to map resulting list to nested objects, you have a problem. I ended up writing similar private mapping methods which maps resultset to nested objects. The queries were similar, too. If there is a way to do these mappings automatically and generate queries automatically, why should I do them by hand? There was fmgVen, the initial version at 2006. It was very nice, still used in some projects. But I moved on to other projects, and abandoned it. It had some limitations such that it required Java 1.5 and could not do many to many mappings, and do not work on Oracle. My new projects didn't had complex db acccess, so I sticked with Spring JDBC Template. |
| 17 | I strongly dislike Hibernate (since [http://houseofhaug.wordpress.com/2005/08/12/hibernate-hates-spring/ Hibernate hates Spring]). Instead, I mostly prefer to use Spring JDBC Template. However, with JDBC template, if you need to map resulting list to nested objects, you have a problem. I ended up writing similar private mapping methods which maps resultset to nested objects. The queries were similar, too. If there is a way to do these mappings automatically and generate queries automatically, why should I do them by hand? There was fmgVen, the initial version at 2006. It was very nice, still used in some projects. But I moved on to other projects, and abandoned it. It had some limitations such that it required Java 1.5 and could not do many to many mappings, and do not work on Oracle. My new projects didn't had complex db acccess, so I sticked with Spring JDBC Template. |
| 20 | |
| 21 | == Literature Review == |
| 22 | In the second pass (2010) I did a thorough literature review, in order not to reinvent the wheel, and to gain vision. I searched for similar tools, similar attempts and where would fmgVen stand within those. Here are the similar attempts; |
| 23 | |
| 24 | * [http://www.avaje.org/ Ebean:] The closest one to fmgVen. They even have auto-fetch feature which I thought to implement in 2006! Ebean userguide is [http://www.avaje.org/doc/ebean-userguide.pdf here]. Why fmgVen; |
| 25 | * fmgVen is aimed to be simpler, having more powerful and type-safe criteria API. Support java 1.4 and convention-over-configuration mapping. |
| 26 | * [http://blogs.sun.com/ldemichiel/entry/java_persistence_2_0_public1 JPA]: The mostly used ORM solution, hibernate and the like. And their typesafe alternatives; |
| 27 | * [http://code.google.com/p/liquidform/ Liquidform]: LINQ inspired, typesafe alternative to JPA. Performs some tricks to make it. |
| 28 | * [http://source.mysema.com/static/querydsl/latest/reference/html/ch02s04.html Querydsl]: Typesafe queries for JPA. |
| 29 | * [http://quaere.codehaus.org/ Quaere]: SQL to Java apps. (Linq like) |
| 30 | * [http://incubator.apache.org/empire-db/index.html Empiredb]: Similar motivations but different approach. Not CoC. |