I've never liked to use Integer. Is it really the better design choice ? and why ? Is it the
Not for all situations. But the simple fact is that a primitive cannot represent NULL state without using a "magic number". Magic numbers are (to the best of my experience and education) NEVER a good idea. Hence, you're better off with an Integer than a "magic int".
I have to admit I was always of the opposite view. I hated nulls with a vengeance when it came to database data. I also don't like magic numbers unless they had meaning in the given domain. Most of the time (95%) zero made perfect senses hence I always defaulted my database columns to zero (never -1 or anything like that). In cases where I needed to know the difference between zero and null (which was rare) there were always other ways to represent this (eg. existence of a row etc.)
From a practical perspective, Integers are better because they areobjects and can take part in Object features. For example, you can use them in a collection or pass them as a parameter to your SQL Maps. If you're lucky enough to use J2SE 5, then this is less important...but trust me, primitives are no less of a problem in J2SE 5.
This is a major problem I found with java; i.e not being able to use primitives in collections. I think either primitives is a real wart in java or collections is missing a real feature. That reminds me of a little annoyance with sqlmap where I always had to wrap my primitives in Integer, Boolean etc when passing it to the query, update methods.
From a purely academic sense, Java is a hybrid language. A Smalltalkdeveloper would tell you to avoid primitives like the plague. A C
developer, would tell you primitives are the only way to go. Generally speaking, Java is more OO than not, so the Smalltalk
developer would probably be correct more often than the C developer.
All I can say is...dude, you'd love Ruby. ;-)
I'm actually a python fan and i'm sure you know about the rivalry there ;-) There are some nice features in ruby though. But I think that activerecord (ruby on rails) thing they have doesn't come close to sqlmaps for major applications.
Regards,
Huy