HibernateUtilでコンパイルエラー
なんかあんまり気にしてなかったのですが、HibernateUtilがコンパイルエラーというかワーニング起こしてました。
注: C:\work\project\OR\src\or\HibernateUtil.java の操作は、未チェックまたは安全ではありません。 注: 詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
なんだろと思って、早速指示通り-Xlint:uncheckedを付けてコンパイルしなおしてみたところ、以下のように出ました。
C:\work\project\OR\src\or\HibernateUtil.java:42: 警告: [unchecked] raw 型 java.lang.ThreadLocal のメンバとしての set(T) への無検査呼び出しです。 session.set(s); C:\work\project\OR\src\or\HibernateUtil.java:51: 警告: [unchecked] raw 型 java.lang.ThreadLocal のメンバとしての set(T) への無検査呼び出しです。 session.set(null); 警告 2 個
どうやら、JSE5で導入されたGenericsのあたりのワーニングのようです。java.lang.ThreadLocalを使うのに、
public static final ThreadLocal session = new ThreadLocal();
じゃダメで、
public static final ThreadLocalsession = new ThreadLocal ();
ていう風に書いて、型セーフにしなさいという警告のようです。後者にしたらワーニング出なくなりました。
振り返ってマニュアル読んでみたのですが、-Xlint:noneとか、-Xlint:-uncheckedとかやれば、ワーニング出なくなるようなことが書いてあるのですが、一向にワーニング消えないみたいです。なんでだろう?ま、いいか。。