Someone needs to explain to me the stupidity of Oracle’s data types. For long strings you have the option of VARCHAR2 (too small), CLOB (too stupid), and LONG (even stupider). Then there’s the added problem of Oracle’s JDBC drivers having a lousy bug that prevents them from handling strings larger than 4000 bytes. In the age of the Web, it seems like having a decent string data type isn’t too much to ask, is it? Maybe this problem is rectified in versions of Oracle subsequent to Oracle 8, but in my world, dealing with this problem brings on an avalanche of lousy hacks and utter stupidity. (The thing that’s compounding my problem is a leaky abstraction problem involving Hibernate.)

Update: I am only now coming to appreciate the depths of stupidity associated with CLOBs. They are evil and malicious. Hey, Oracle, how about a data type that lets us work with something between 4k and 2 gigs that doesn’t require the most obnoxious shenanigans I’ve ever seen? Seriously.