String hql = " from Commodity "; Query query = session.createQuery(hql); List<Commodity> commodities = query.list(); for (Commodity commodity : commodities) { System.out.println(commodity.getId() + " : " + commodity.getName()); }
我的Commodity类中没有构造器,但可以查询。
记得学校老师当时讲java课程时说,每个类都有一个无参构造器。即使你不申明,但是Java虚拟机会自己调用。
大神们知道这是为什么吗
如果你的类里面没有写构造方法,那么编译器就在编译阶段给你生成一个无参数的构造方法,但是一旦你在类里面写了构造方法(无论有参无参),虚编译器就不生成无参构造方法了,而且此时无参构造方法只有你手动重写才会有,编译器不会给你创建的。
可以写一个类,不提供任何构造器,然后找到编译后的class文件,用反编译程序大考这个文件,应该能看到一个无参构造方法