0
public List<Marki> getMarki()
      {
        List<Marki> markiList = null;
        try {
            Session session = HibernateSession.getSessionFactory().getCurrentSession();
            session.beginTransaction();
            Query q = session.createQuery("from Marki ");
            if ( q != null ) {
                markiList = ( List<Marki> ) q.list();
            }
            // session.getTransaction().commit();
        } catch ( Exception e ) {
            e.printStackTrace();
        }
        return markiList;
 }

マッピング

<hibernate-mapping>
    <class name="bazaMap.Marki" table="marki" schema="public">
        <id name="id" type="int">
            <column name="id" />
            <generator class="assigned" />
        </id>
        <property name="marka" type="serializable">
            <column name="marka" unique="true" />
        </property>
        <set name="modeles" inverse="true">
            <key>
                <column name="markaid" not-null="true" />
            </key>
            <one-to-many class="bazaMap.Modele" />
        </set>
    </class>
</hibernate-mapping>


N



CREATE TABLE marki
(
  id serial NOT NULL,
  marka character varying(32)[],
  CONSTRAINT glowny PRIMARY KEY (id),
  CONSTRAINT marki_marka_key UNIQUE (marka)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE marki
  OWNER TO postgres;

FO:休止状態:public.marki marki0_からmarki0_.idをid3_として、marki0_.markaをmarka3_として選択します。情報:結果セットから列値を読み取れませんでした:marka3_; 重大なデシリアライズできませんでした:org.hibernate.type.SerializationException:org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:217)at org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:240)でデシリアライズできませんでしたorg.hibernate.type.SerializableType.fromBytes(SerializableType.java:82)at org.hibernate.type.SerializableType.get(SerializableType.java:39)at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163 )org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)でorg.hibernateで。

1.すべてのマッピングコードはNetBeansによって生成されました。何が間違っているか、さらに良いかもしれないアイデア-それを修正する方法は?

何とか「あなたの投稿には、コードセクションを説明するためのコンテキストがあまりありません。シナリオをより明確に説明してください。」

4

1 に答える 1

1

私はこれがあなたの問題だと思います:

marka character varying(32)[],

おそらく、文字の配列は必要ありません。これはおそらくあなたが意図していることです:

marka varchar(32),

最後に、HibernateがPostgres配列をすぐに処理する方法を知らないことを確認しました。これは、Postgres配列をサポートするRDBMSがほとんどないためです。

于 2013-01-23T22:39:34.393 に答える