Duvida com ler um list com dois objetos ....erro java.lang.ClassCastException: [Ljava.lang.Object;

2 respostas
P

Help,

não estou conseguindo após o comando abaixo ler os objetos e,a
que estão na em uma lista …

Se alguém puder me ajudar agradeceria …
como faria for e cast …

está dando erro

for (int i = 0; i < listas.size(); i++) {
				

				Student student = (Student)(listas.get(i));


erro:

 java.lang.ClassCastException: [Ljava.lang.Object;

abs

File: Main.java
 
import java.util.Date;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.FlushModeType;
import javax.persistence.Persistence;
import javax.persistence.Query;

public class Main {
static EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPAService");

static EntityManager em = emf.createEntityManager();

public static void main(String[] a) throws Exception {
em.getTransaction().begin();

Query query = em.createQuery("SELECT e, a FROM Student e JOIN e.address a");
System.out.println(query.getResultList());
List listas = query.getResultList());

em.getTransaction().commit();
em.close();
emf.close();

Helper.checkData();
}
}	 

---
File: Student.java
 
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
public class Student {
@Id
private int id;
private String name;
private long salary;
@Temporal(TemporalType.DATE)
private Date startDate;

@OneToOne
private Address address;

@OneToMany(mappedBy="student")
private Collection<Phone> phones = new ArrayList<Phone>();

@ManyToOne
private Department department;

@ManyToOne
private Student manager;

@OneToMany(mappedBy="manager")
private Collection<Student> directs = new ArrayList<Student>();

@ManyToMany(mappedBy="students")
private Collection<Project> projects = new ArrayList<Project>();

	 

File: Address.java
 
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class Address {
@Id
private int id;
private String street;
private String city;
private String state;
private String zip;

2 Respostas

M

paribe:
Help,

não estou conseguindo após o comando abaixo ler os objetos e,a
que estão na em uma lista …

Se alguém puder me ajudar agradeceria …
como faria for e cast …

está dando erro

for (int i = 0; i < listas.size(); i++) {
				

				Student student = (Student)(listas.get(i));


erro:

 java.lang.ClassCastException: [Ljava.lang.Object;

abs


Sua variável “student” é um ArrayList? E como esse objeto foi instanciado e populado? Poste aqui para ajudarmos.

bruno.leite

Favor postar o trecho de código da declaração e instanciação da lista, e como ela é preenchida tb :stuck_out_tongue:

Criado 9 de janeiro de 2009
Ultima resposta 9 de jan. de 2009
Respostas 2
Participantes 3