java是如何根据参数在dao层new出相应对象的?具体需求是这样的:我们的项目是人力资源问卷调查系统,后台是SSH架构搭建的! 现在碰到一个这样的问题,flex前台需要展现的很多对象的部分数据,是这样的代码:
比如题目类的部分代码:
class Subject{
private Set<Dimension> children;
private int id;
private String name;
private Dimension parentDimentsion;
}
其中一个属性是个set,set里面存储了很多其他的类的对象,那些对象又和其他的对象关联!当我们在前台只是需要一个字符串 比如:subject.name或者set里面的某一个对象的时候,即使通过hibernate的延迟加载 我想执行的效率都不高啊!我们现在的做法是:在Service层new一个新对象把hibernate查询出来的前台需要的字段给这个新对象,然后传给前台!但是这样开发的效率又不高!我现在的想法是:如何根据前台传来的参数或(对象),在Service层写一个通用的方法 ,根据前台传来的对象自动new一个这个对象的新实例,以便进一步操作。 我听朋友说过 这好像叫 java反向XX....
不知道我的需求说请了么?不知道这个想法是否可行以及如何实现 或者还有其他更好的做法?我是菜鸟 希望写的详细点!
比如题目类的部分代码:
class Subject{
private Set<Dimension> children;
private int id;
private String name;
private Dimension parentDimentsion;
}
其中一个属性是个set,set里面存储了很多其他的类的对象,那些对象又和其他的对象关联!当我们在前台只是需要一个字符串 比如:subject.name或者set里面的某一个对象的时候,即使通过hibernate的延迟加载 我想执行的效率都不高啊!我们现在的做法是:在Service层new一个新对象把hibernate查询出来的前台需要的字段给这个新对象,然后传给前台!但是这样开发的效率又不高!我现在的想法是:如何根据前台传来的参数或(对象),在Service层写一个通用的方法 ,根据前台传来的对象自动new一个这个对象的新实例,以便进一步操作。 我听朋友说过 这好像叫 java反向XX....
不知道我的需求说请了么?不知道这个想法是否可行以及如何实现 或者还有其他更好的做法?我是菜鸟 希望写的详细点!
看看 hibernate 有关的 cache 机制能不能解决性能问题,
或者也可以考虑用 ibatis,不过估计是改不了,毕竟你已经用了那么久了……
http://blog.csdn.net/upyaya/archive/2006/09/08/1193723.aspx
http://www.blogjava.net/DoubleJ/archive/2008/03/04/183796.html参考一下
YouClass obj = (YouClass)Thread.currentThread().getContextClassLoader().loadClass(className);
className作为参数传递进来即可.