日期:2014-05-16  浏览次数:20718 次

怎样去除对象的hibernate信息???急急。求高手帮助
//从数据库中查找user对象
public static User login(String userName,String passwd){
  Session s=null;
  User user=null;
  try{
  s=HibernateUtil.getSession();
  String hql="from User as user where user.name=? and user.passwd=?";
  Query query=s.createQuery(hql);
  query.setString(0, userName);
  query.setString(1,passwd);
  user=(User) query.uniqueResult();
  }catch(HibernateException e){
  throw e;
  }finally{
  s.close();
  }
  if(user!=null)
  return user;
  return null;
  }

服务器将对象传送给客户端

user=UserSystem.login(userName, passwd);
objectOutput.writeObject(user);

客户端接收user对象

public static User login(String userName,String passwd)throws IOException, ClassNotFoundException{
  User user;
  output.writeInt(Intent.INTENT_LOGIN);
  output.writeUTF(userName);
  output.writeUTF(passwd);
  output.flush();
  user=(User)objectInput.readObject();
  return user;
  }

但是客户端报错Exception in thread "main" java.lang.ClassNotFoundException: org.hibernate.collection.PersistentSet

但是在客户端引入hibernate3.jar后,就没有错误了。

也就是说服务端传递过来的user对象还含有hibernate方面的信息。

由于客户端要应用在手机上,hibernate3.jar又有3MB之大(不能将程序写得太大),所以想找找有没有能够

在服务端将user对象中的hibernate信息去除。。

求高手帮助。。。。

------解决方案--------------------
用 json格式不就行了
------解决方案--------------------
BeanUtiles.copyProperies()应该可以