JNA seems a fair bit easier to use to call native code compared to JNI. In what cases would you use JNI over JNA?
Unless I'm missing something, isn't the main difference between JNA vs JNI that with JNA you can't call Java code from native (C) code?