Bom dia!
Sou novo e esta é a prima dúvida que estou postando e não sei se estou no lugar certo e tenho a seguinte dúvida.
Como listar dados utilizando o @ElementCollection(fetch=FetchType.EAGER) e o @Embedded?
Pois ele está retornando endereço de memória.
Tenho as seguintes classes:
abaixo a classe UserDetails
@Entity
@Table(name="UserDetails")
public class UserDetails implements Serializable{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int userId;
private String userName;
@ElementCollection(fetch=FetchType.EAGER)
@Embedded
private Collection<Address> ListOfAddresses = new HashSet();
getters e setters......
}
abaixo a classe Address
@Embeddable
@Table(name="Address")
public class Address implements Serializable{
@Column(name="Street_name")
private String street;
@Column(name="City_name")
private String city;
@Column(name="State_name")
private String state;
@Column(name="Pin_code")
private String pincode;
// getters e setters...
}
abaixo a classe principal
public class HibernateTestListaDAO{
public static void main(String[] args){
try
{
SessionFactory sessionFactory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
UserDetails useTeste = (UserDetails) session.get(UserDetails.class, 1);
String dados = useTeste.getUserName();
Collection<Address> address = useTeste.getListOfAddresses();
int q = address.size();
Iterator it = address.iterator();
String end = "";
Collection<Address> en = address;
JOptionPane.showMessageDialog(null,"Teste en.: "+en);
for(int i = 0; i <q;i++) {
end = end+"\nendereços "+(i+1)+".: "+it.next();
}
JOptionPane.showMessageDialog(null,"Nome.: "+dados);
}
catch(Exception erro)
{
JOptionPane.showMessageDialog(null,"Erro ao listar.: "+erro);
}
}
Mas ele somente mostra endereço de memória, mostrado abaixo:
Teste en.:[Address@b2b75c,Address@158e7bc]