Serializacja listy z hibernate java

0

Chciałbym serializować obiekt który zawiera listę. Lista ta powstała za pomocą hibernate z istniejącej tabeli w MySQL. Bez listy serializacja wykonuje się pomyślnie. Obiekt przesyłany jest z Serwera na Socket.

tak przygotowuję listę do serializacji w klasie Users

 
List users_list = new HibernateExample().displayUsers(); //metoda przygotowuje listę i zwraca ją

od strony Socketa takie mam błędy:

 
java.io.EOFException
	at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
	at java.io.ObjectInputStream.readObject0(Unknown Source)
	at java.io.ObjectInputStream.readObject(Unknown Source)
	at EchoClient.showUsers(EchoClient.java:38)
	at Main.main(Main.java:12)



od strony Servera takie mam błędy:

 
.
.
.
Oct 23, 2011 12:45:38 PM org.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
Initial SessionFactory creation failed.org.hibernate.InstantiationException: could not instantiate test objectUsers
Exception in thread "main" java.lang.ExceptionInInitializerError
	at HibernateUtil.<clinit>(HibernateUtil.java:13)
	at HibernateExample.displayUsers(HibernateExample.java:11)
	at Users.<init>(Users.java:12)
	at Server.showUsers(Server.java:55)
	at Main.main(Main.java:20)
Caused by: org.hibernate.InstantiationException: could not instantiate test objectUsers
	at org.hibernate.engine.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:25)
	at org.hibernate.engine.UnsavedValueFactory.getUnsavedIdentifierValue(UnsavedValueFactory.java:44)
	at org.hibernate.tuple.PropertyFactory.buildIdentifierProperty(PropertyFactory.java:44)
	at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:123)
	at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
	at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
	at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
	at HibernateUtil.<clinit>(HibernateUtil.java:10)
	... 4 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
	at org.hibernate.engine.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:22)
	... 13 more
Caused by: java.lang.NullPointerException
	at HibernateExample.displayUsers(HibernateExample.java:14)
	at Users.<init>(Users.java:12)
	... 18 more

0

Nie pokazales najwazniejszego, czyli kodu HibernateExample - stamtad leci NPE, a scislej jeszcze glebiej, klasa Users...

0
 

 import java.util.Iterator;

public class HibernateExample {
	List users = null;
	 public List displayUsers() {
         //utowrzenie obiektu odpowiedzialnego za Inicjalizacje Hibernate i utworzenie fabryki sesji Hibernate
         HibernateUtil factory = new HibernateUtil(); 

         //Otwarcie sesji Hibernate
         Session session = HibernateUtil.getSessionFactory().openSession();

         //Rozpoczęcie transakcji
         Transaction tx = session.beginTransaction();

         //Utworzenie zapytania SQL do bazy o listę użytkowników
         Criteria criteria = session.createCriteria(Users.class);

         //Wykonanie zapytania SQL
         users = criteria.list();

         //Zatwierdzenie transakcji
         tx.commit();

         //Zamknięcie sesji Hibernate
         session.close();
         
         return users;
     }
}


import java.io.Serializable;
import java.util.List;

public class Users implements Serializable{
		public int ID_user;
		String last_name;
		String email;
		
		List users_list = new HibernateExample().displayUsers();
		
		public void setID_user(int ID_user){
			this.ID_user=ID_user;
		}
		
		public int getID_user(){
			return ID_user;
		}
		
		public void setlast_name(String last_name){
			this.last_name = last_name;
		}
		
		public String getLast_name(){
			return last_name;
		}
		
		public void setEmail(String email){
			this.email = email;
		}
		
		public String getEmail(){
			return email;
		}
}
 

1 użytkowników online, w tym zalogowanych: 0, gości: 1