Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-11-23, 06:52x



Odpowiedz w temacie  [ Posty: 1 ] 
Baza danych + Hibernate - złe mapowanie 
Autor Wiadomość

Rejestracja: 2012-02-21, 14:08
Posty: 1
Post Baza danych + Hibernate - złe mapowanie
Witam.

Pracuję nad aplikacją która korzysta z bady danych Symfoni.
Po wygenerowaniu DDF'ów mam dostęp do bazy poprzez Pervasive Control Center.
Moja aplikacja jest pisana w Javie, w związku z czym muszę użyć JDBC aby połączyć się z bazą danych.
Korzystam także z Hibernate aby nie musieć pisać czystych zapytań SQL'owych, a korzystać z wygenerowanych obiektów.

Po wygenerowaniu klas na podstawie table, w miejscach gdzie kolumny są typu "date", dostaję pole klasy Serializable.
Gdy probuję pobrać wszystkie rekordy z basy, dostaje błąd:

Kod:
Exception in thread "main" org.hibernate.type.SerializationException: could not deserialize
   at org.hibernate.util.SerializationHelper.doDeserialize(SerializationHelper.java:262)
   at org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:306)
   at org.hibernate.type.descriptor.java.SerializableTypeDescriptor.fromBytes(SerializableTypeDescriptor.java:130)
   at org.hibernate.type.descriptor.java.SerializableTypeDescriptor.wrap(SerializableTypeDescriptor.java:116)
   at org.hibernate.type.descriptor.java.SerializableTypeDescriptor.wrap(SerializableTypeDescriptor.java:39)
   at org.hibernate.type.descriptor.sql.VarbinaryTypeDescriptor$2.doExtract(VarbinaryTypeDescriptor.java:62)
   at org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:64)
   at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:254)
   at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:250)
   at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:230)
   at org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:331)
   at org.hibernate.type.ComponentType.hydrate(ComponentType.java:593)
   at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:668)
   at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:606)
   at org.hibernate.loader.Loader.doQuery(Loader.java:829)
   at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
   at org.hibernate.loader.Loader.doList(Loader.java:2542)
   at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
   at org.hibernate.loader.Loader.list(Loader.java:2271)
   at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:119)
   at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1716)
   at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:347)
   at pl.lanox.test.Test.main(Test.java:19)
Caused by: java.io.StreamCorruptedException: invalid stream header: 32303036
   at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:782)
   at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
   at org.hibernate.util.SerializationHelper$CustomObjectInputStream.<init>(SerializationHelper.java:328)
   at org.hibernate.util.SerializationHelper$CustomObjectInputStream.<init>(SerializationHelper.java:318)
   at org.hibernate.util.SerializationHelper.doDeserialize(SerializationHelper.java:237)
   ... 22 more



hibernate.cfg.xml
Kod:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
      "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
      "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
   <session-factory>
   
      <property name="hibernate.connection.driver_class">com.pervasive.jdbc.v2.Driver</property>
      <property name="hibernate.connection.password">pass</property>
      <property name="hibernate.connection.url">jdbc:pervasive://10.10.10.4/NOWY3</property>
      <property name="hibernate.connection.username">user</property>
      <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
     
      <property name="current_session_context_class">thread</property>
      <property name="show_sql">true</property>

   </session-factory>
</hibernate-configuration>



Pobieranie listy:
Kod:
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
      session.beginTransaction();
     
      List<Kh> list = (List<Kh>) session.createCriteria(Kh.class).list();
     
      session.getTransaction().commit();



Dziwną rzeczą jest to, że po zrobieniu połączenia z bazą danych w Eclipsie, kolumna ma typ "9" (pozostałe są poprawne np. int, varchar)

Gdy probuję na sztywno zmienić typ z Serializable na Date lub String, dostaje listę pustych obiektów.
Zmiana dialektu także nie pomaga.

Próbowałem dodać coś do bazy w celach testowych, i działa.

Co robię źle lub czego nie robie ?
Będę wdzięczny za każdą wskazówkę.

Mariusz Sitarz


2012-02-21, 14:22
Wyświetl profil
Autor Wiadomość
 


Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 1 ] 
   Podobne tematy   Autor   Odpowiedzi   Odsłony   Ostatni post 
Na tym forum nie ma nowych nieprzeczytanych postów. baza danych

w Programy Księgowe

jolar

1

3528

2014-12-08, 17:31

wrob Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Demonstracyjna Baza Danych do FK

w Pozostałe

1989Misiek

8

9753

2011-12-14, 01:26

wrob Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. MKP - baza danych

w Programy Handlowe

dr_hawk

0

2794

2022-07-12, 19:10

dr_hawk Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Baza danych (kontrahenci)

w Programy Handlowe

unikal

1

2969

2011-10-18, 11:54

wrob Wyświetl najnowszy post



Kto jest online

Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 22 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Support forum phpbb by phpBB Assistant