为了账号安全,请及时绑定邮箱和手机立即绑定

hql 查询 默认构造器的问题

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虚拟机会自己调用。

大神们知道这是为什么吗


正在回答

2 回答

如果你的类里面没有写构造方法,那么编译器就在编译阶段给你生成一个无参数的构造方法,但是一旦你在类里面写了构造方法(无论有参无参),虚编译器就不生成无参构造方法了,而且此时无参构造方法只有你手动重写才会有,编译器不会给你创建的。

0 回复 有任何疑惑可以回复我~
#1

横空hero 提问者

非常感谢!
2017-11-24 回复 有任何疑惑可以回复我~

可以写一个类,不提供任何构造器,然后找到编译后的class文件,用反编译程序大考这个文件,应该能看到一个无参构造方法

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
HQL数据查询基础
  • 参与学习       41144    人
  • 解答问题       95    个

使用HQL从数据库中找到你要的数据,掌握了使用Hibernate

进入课程

hql 查询 默认构造器的问题

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号