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 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退