Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JPA中使用列表时发生ClassCastException_Java_Jpa - Fatal编程技术网

Java 在JPA中使用列表时发生ClassCastException

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;

我试图在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;
    }
    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)