Java 在JPA中使用列表时发生ClassCastException
我试图在eclipse中执行一个JPA程序。我已经进口了所有必要的包裹 这是我的POJO@entity阶级Java 在JPA中使用列表时发生ClassCastException,java,jpa,Java,Jpa,我试图在eclipse中执行一个JPA程序。我已经进口了所有必要的包裹 这是我的POJO@entity阶级 @Entity public class Student { int id,marks; String name; Student(int i, int j, String k) { id=i;marks=j;name=k; } public int getMarks() { return marks;
@Entity
public class Student
{
int id,marks;
String name;
Student(int i, int j, String k)
{
id=i;marks=j;name=k;
}
public int getMarks()
{
return marks;
}
public void setMarks(int i)
{
marks = i;
}
}
这是我“主要”课程的一部分
EntityManagerFactory emf = Persistence.createEntityManagerFactory("database/database.odb");
EntityManager em = emf.createEntityManager();
Student s1;
em.getTransaction().begin();
s1 = new Student(1,100,"abcd");
em.persist(s1);
s1 = new Student(2,200,"efgh");
em.persist(s1);
s1 = new Student(3,300,"ijkl");
em.persist(s1);
em.getTransaction().commit();
Query q1 = em.createQuery("select marks from Student");
List<Student> result = q1.getResultList();
em.getTransaction().begin();
for(Student s : result)
{
if(s.getMarks()%200==0)
em.remove(s);
else
s.setMarks(s.getMarks()*2);
}
em.getTransaction().commit();
q1 = em.createQuery("select marks from Student");
System.out.println("Details of students are : " + q1.getResultList());
我的项目的包名是assg6
我试过这个
List<Student> result = (List<Student>)q1.getResultList();
及
为什么我没有得到预期的输出以及如何得到它?显然,q1.getResultList正在返回一个整数列表。这并不奇怪,因为您的意思是queryq1=em.createQueryselect marks from Student
您可能想从学生s中编写select s。这是怎么回事:[java.lang.Integer不能转换为assg6.Student]对问题的描述不是很清楚?这里java.lang.Integer的含义是什么?结果不是一个好消息integer@AmeyWaze显然:它是。。。。。我认为它应该是学生类型@Stultusket结果实际上是分数的值,而不是学生的全部信息,分数是一个integer@AmeyWaze请在代码中包含行号。如果不确定如何,第52行是什么?真的很抱歉@Timir for循环的第52行是什么@不好意思,内联查询应该已经从Student syeah中读取了select s,但是,从Student s中的select s中还有什么,我指的是第一个s
List<Student> result = (List<Student>)q1.getResultList();
for(Student s : (List<Student>)result)