で休止状態私は ArrayList
を含め、このクラスでHibernateを使用しようとしている:がJavaのArrayList
しかし、私はこの例外を取得:
expected type: java.util.ArrayList, actual value: org.hibernate.collection.PersistentList
ちょうど一覧はSerializableをis'tので(私はArrayListのを使用する必要があります。
この例外は、jpa entitymanagerが起動したときにスローされます。
これはクラスです:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Apr 17, 2012 9:20:13 PM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="Entities.Person" table="PERSON">
<id name="id" type="long">
<column name="ID" />
<generator class="increment" />
</id>
<property name="_email" type="java.lang.String" access="field">
<column name="_EMAIL" />
</property>
<list name="msgList" inverse="false" table="ANSMSG" lazy="true">
<key>
<column name="ID" />
</key>
<list-index></list-index>
<one-to-many class="msg.AnsMsg" />
</list>
</class>
</hibernate-mapping>
どのように私は事前に おかげで、休止状態でのJavaのArrayListを使用することができます。
package Entities;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import msg.AnsMsg;
public class Person implements Serializable {
static final long serialVersionUID = 1L;
private long id;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
private String _email;
private ArrayList <AnsMsg> msgList=new ArrayList<AnsMsg>();
public ArrayList <AnsMsg> getMsgList() {
return msgList;
}
public void setMsgList(ArrayList <AnsMsg> msgList) {
this.msgList = msgList;
}
public Person(){}
public String getEmail() {
return _email;
}
public void set_email(String _email) {
this._email = _email;
}
}
これはHBMファイルです。
問題は私がPersonオブジェクトをServerからAndroidに移動し、AndroidアプリケーションがPersonオブジェクトをDeSerializeしようとしたときに、このリストがArraylistを使用しているため、Listを使用できないためです。あなた...) – user986474
私はカルロスにあなたのコメントを見ました。これについての私の考えは、あなたのオブジェクトをJSON文字列として変換し、アンドロイドアプリでJSONとして扱わない理由です。これにより、シリアライズとデシリアライゼーションのオーバーヘッドを軽減できます。その単なる提案。 – raddykrish