java泛型提示 不能转换
String hql = "select id,examid,subject,optionsA,optionsB,optionsC,optionsD,rightoption from Exam where examid ="+examId;
List <Exam> DBResult ;
DBResult = (List <Exam>)RunDao.query(hql);
RunDao.query(hql); 方法得到的就是hibernate中session得到的query方法,放回是List对象, select中是Exam表的所有字段,
为什么不能转换为Exam类型呢?
错误提示:
Ljava.lang.Object; cannot be cast to com.exam.vo.Exam
Java5泛型的用法,T.class的获取和为擦拭法站台
http://blog.163.com/dangzhengtao@yeah/blog/static/7780087420095210958589/edit/
hibernate的HQL是这样写吗?
应该是select Exam 。。。。。。。。。
然后你才能那样用泛型吧?
不能这样转
不知道楼主定义的RunDao.query(String hql)是如何实现的,返回值是啥。
要不楼主试试调用org.hibernate.Query的list()方法,再将list()获得的List中的元素转成Exam,最后把它装进List <Exam>
select e from Exam e吧
楼上正确,你拿出来的是字段值
楼上的hibernate可以转化为对象
Java code:
调用org.hibernate.Query的list()方法,
再将list()获得的List中的元素转成Exam,最后把它装进List <Exam>
你那样查询返回的是一个Object数组,不是对象
List <Object[]>这个类型
HQL需要addEntity
select new Exam(id,examid,subject,optionsA
相关问答:
我现在想用ssh整合来做一个论坛,但数据库方面不行,我主要不会涉及数据库,不知道发帖表,和回帖表要如何设计和区分。不知道谁有一个简单的思路,来设计这些表。谢谢了。
发帖和回帖用同一张表 。发帖 id user ......
import java.io.*;
class FileTest
{
public static void main(String [] args) throws Exception
{
File fDir=new File(File.separator);
String strFile="java源代码测试"+File.separato ......
我想用Java写一个程序,就是我想在运行代码后,在指定的时间打开某程序,例如我运行代码后,讲在12:00打开"D:\Program Files\Tencent\QQ2009\Bin\QQ.exe"这个程序,求高人指点。还有可能的话在指定的时间 ......
我希望在编辑文字后把发送键改到屏幕中间,具体说就是
在kb.class中的部分作出修改
部分代码:
V = new TextBox(ld.a(383), "", 190, 0);
X = new Comma ......
怎么监听JTextField单行文本的变化呢?
也就是怎么通过“保存”按钮获取新输入在文本区的字符串呢?
在线等待!!
JFrame ap = new JFrame("");
ap.setDefaultCloseOperation(JFrame.DISP ......