If your database server is case insensitive for column names, then SQL queries that are fired from Java will be case insensitive too. Java simply gives the query to the
JDBC driver which will most likely just pass it to the database. Note I think
resultSet.get is case sensitive. So, if you give it a column label, it has to be correct case (I could be wrong though.. it's been a while)
As far as naming conventions for databases. Some people use camel case, some people use underscore seperator. Most Java apps use camelcase because if you are using ORM tool like Hibernate, it;s easier to manage. Some people like underscore seperator because some DB tools automatically make the columns upper case, and then the columns aren't readable. It really depends on what tools you are using.