i will give diffent answer in diffent situatiion,for example,maybe some small and simple project i will choose ibatis or jdbc,big but not enough i think jpa will work well,and big project i think hibernate is a good choice
first you constructor can't accept two parameter,because you constructor is default constructor.so "Hello p = new Hello(args[2],args[3]);" will throw out error