Changes between Version 3 and Version 4 of FmgVen/Overview


Ignore:
Timestamp:
Aug 29, 2010, 3:18:08 PM (14 years ago)
Author:
fmguler
Comment:

linq and spring added

Legend:

Unmodified
Added
Removed
Modified
  • FmgVen/Overview

    v3 v4  
    1515 
    1616== Motivation == 
    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. 
     17I 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. 
    1818 
    1919Until now! I realize that fmgVen is good enough not to be abandoned, and I decided to give it another shot. Current motivation is to make it a production ready tool which can be used in new projects. 
     
    2222In 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; 
    2323 
    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. 
     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. 
    2626 * [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; 
    2727   * [http://code.google.com/p/liquidform/ Liquidform]: LINQ inspired, typesafe alternative to JPA. Performs some tricks to make it. 
     
    2929   * [http://quaere.codehaus.org/ Quaere]: SQL to Java apps. (Linq like) 
    3030 * [http://incubator.apache.org/empire-db/index.html Empiredb]: Similar motivations but different approach. Not CoC. 
     31 * LINQ: A very good attempt by MS. Linq to sql would be what we need, but still not CoC. 
     32 * Spring !BeanPropertyRowMapper: Similar mapping approach, but that's it, no criteria to joins.