Hi Jonas, Good find. As many users have been running into this issue - especially when writing vendor-agnostic applications, we're going to be supporting optional case-insensitivity soon: https://github.com/jOOQ/jOOQ/issues/2656
This is a major task, however, as the complete jOOQ API would then need to switch from the current case-sensitive access patterns to case-insensitive ones. We're not quite sure how to configure that yet, as methods on generated classes like MY_TABLE.getName() would be affected by this new runtime setting. Note: the existing RenderNameStyle Setting allows you to specify how jOOQ renders such names / identifiers in SQL statements: http://www.jooq.org/javadoc/latest/org/jooq/conf/RenderNameStyle.html In the mean time, it is always a good idea to keep in control of case sensitivity already in your DDL statements, by specifying, for example: CREATE TABLE "MY_TABLE" ( "MY_COLUMN" INT, ... ) Take MySQL's MyISAM storage engine, for instance. Tables are mapped to files on your file system, which are implicitly case-sensitive on *nix machines, or case-insensitive on Windows machines. Some databases (e.g. MySQL, PostgreSQL) report case-insensitive identifiers as lower-case, others (H2, HSQLDB, Oracle, ...) report them as upper-case from database meta information tables. Again. Leaving these things to the "database gods" will only end up in tears :-) Hope this helps, Lukas 2014-04-12 10:44 GMT+02:00 <[email protected]>: > I found the problem! The column names were indeed not lowercase although I > specified it that way. Apparently, the h2 default settings set column names > to uppercase. > Is there a way to let JOOQ know to handle the conversion case-insensitive? > > > > On Friday, April 11, 2014 11:42:58 PM UTC+8, Lukas Eder wrote: > >> Hi Jonas, >> >> Just checking: You're using lower-case column names in your @Column >> annotations. Do they match the generated Fields' names? >> >> Cheers >> Lukas >> >> >> 2014-04-11 17:33 GMT+02:00 Jonas <[email protected]>: >> >>> Apparently, it is also not working the other way round. >>> The fetched SecurityRolesRecord is filled however I can't map it into my >>> SecurityRole class like this: >>> "record.into(SecurityRole.class);" >>> >>> Do I miss something essential here? >>> >>> Thanks a lot for helping me out with this. >>> >>> Warm regards, >>> Jonas >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "jOOQ User Group" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > You received this message because you are subscribed to the Google Groups > "jOOQ User Group" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "jOOQ User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
