Java comes in with a handy logging package (java.util.logging) which eliminates the need to use external logging packages like Log4J. However it still requires some configuration which makes it cumbersome and repetitive to include in every class. You need to choose your Logger, name it, instantiate it etc.
I like simple solutions. Here is a super simple way to easily use java.logging for your logging needs.
You can also use this solution to easily convert all your System.out.println to use java.logging, which provides more information (calling method name, time etc.), granularity and control.
HSQLDB, the famous fast RDBMS written in Java, introduced a new feature which affects code ported over from previous versions. From version 1.7.2, in-process databases are no longer closed when the last connection to the database is explicitly closed via JDBC. Effectively your data is not written to disk even if you exit the program (say for database opened within application). Also it prevents opening the database next time around as a lock file (.lck) has been created to indicate that the data has not been commited to disk. There are two solutions to this issue.