浏览 4770 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2003-10-20
我用 "from A" 可以得到他所有的子类, 可是如何在结果集分辨这些子类. 如果可以这样查询: " select A1,A2... from A", 那就很好理解和处理. 我试过,不成功,请教如何做. 不要告诉我: select A1 from A1 select A2 from A2 ... select Ax from Ax 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2003-10-20
List l=session.find("from A a");; //List l=session.find("from A a order by a.class");; for (Iterator iter = l.iterator();; iter.hasNext();; ); Object o=iter.next();; if(o instanceof A1);{ //... }else if(o instanceof A2);{ //... }else{ //... } } |
|
返回顶楼 | |
发表时间:2003-10-20
我首先试的就是用instanceof,奇怪的是根本不起作用,应该是我用了proxy,不过我的subclass也设了proxy.
不用instanceof的另外一个原因是每次使用数据集时候都要判断,很麻烦,我还要另外创建List来保存不同的子类。难道不可以一次从结果集里取出各自子集忙? |
|
返回顶楼 | |
发表时间:2003-10-21
Session.find()或Query.list()是不会返回proxy的,iterator()才会,你用的是哪个?
引用 难道不可以一次从结果集里取出各自子集忙 好像不行,谁知道有这种方法吗(要不自己写一个)? |
|
返回顶楼 | |
发表时间:2003-10-21
我就是在用iterator.可否对当前表map一个新的class,这个class把这些subclass作为它的children?
|
|
返回顶楼 | |
发表时间:2003-10-21
引用 可否对当前表map一个新的class,这个class把这些subclass作为它的children 不明白你的意思? 贴个例子。 |
|
返回顶楼 | |
发表时间:2003-10-21
我原来是将表映射成一个类和它的子类,我的问题是可不可能将表映射成一个新的类,旧的类的子类分别是这个新类的成员,而且每个成员都是一个collection对象,那样的话,我处理起来就最理想不过了。
|
|
返回顶楼 | |