I should have known :)
PostgreSQL forces everything to lower case unless you delimit the names. For example
create table foo (userName varchar ...
Will create a table with the actual column name being username.
To create a mixed case name you have to do this:
create table foo ("userName" varchar ...
But then you must delimit the name with every SQL statement you write (MyBatis generator has options to force delimited names in generated SQL).
So you have to first figure out what the actual column name is. If the generated SQL is working, then then column name is probably username and not userName. If you really want it camel case in the database you will have to recreate the table using delimiters, but then you have to be careful to delimit every SQL statement you write. My advice would be DON'T DO THIS. You will end up creating a database that is very difficult to work with.
This is why most people write names like user_name - you still get readability and you don't have to deal with delimited names.
Jeff Butler