lao19884wang 2013-04-19 22:25
浏览 162
已采纳

hibernate

再用hibernate 查询做查询操作的时候:
public User getUser(int id){
Session s=null;
s=HibernateUtil.getSession();
[color=red]Class userClass=User.class;
User user=(User)s.get(userClass, id);[/color]

return user;
}

其中 Class userClass=User.class
可以写成 Class userClass=Class.forName("dao.User");用上面的写法有什么好处了

 User user=(User)s.get(userClass, id);

这条语句是根据id查询 返回一条数据然后通过hibernate中某些功能封装成对象?

  • 写回答

1条回答

  • jinnianshilongnian 2013-04-19 22:34
    关注

    其中 Class userClass=User.class
    可以写成 Class userClass=Class.forName("dao.User");用上面的写法有什么好处了

    Class.forName(?) 名字是可变的 也就是经常用于 变/动态的类名时(如通过配置文件动态配置)

    User user=(User)s.get(userClass, id);
    这条语句是根据id查询 返回一条数据然后通过hibernate中某些功能封装成对象?
    可以这么认为 其实主要还是反射:
    1、反射创建userClass 这要求必须有public 空参构造器
    2、反射设置相应的属性

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog