Podle toho jsem to zkousel, ale porad mi to haze chybu.
Mam nasledujici kod:
Session session = HibernateUtil.getSessionFactory().openSession();
Session dom = session.getSession(EntityMode.DOM4J);
Transaction tx = session.beginTransaction();
List result = dom.createQuery("from ZanrDTO").list();
......
tx.commit();
session.close();
a na radku List result = dom.createQuery("from ZanrDTO").list();
vyhodi:
Exception in thread "main" org.hibernate.HibernateException: No
tuplizer found for entity-mode [dom4j]
at
org.hibernate.tuple.EntityModeToTuplizerMapping.getTuplizer(EntityModeToTuplizerMapping.java:68)
at
org.hibernate.tuple.entity.EntityMetamodel.getTuplizer(EntityMetamodel.java:100)
at
org.hibernate.persister.entity.AbstractEntityPersister.getTuplizer(AbstractEntityPersister.java:3126)
at
org.hibernate.persister.entity.AbstractEntityPersister.instantiate(AbstractEntityPersister.java:3539)
at org.hibernate.impl.SessionImpl.instantiate(SessionImpl.java:1275)
at org.hibernate.impl.SessionImpl.instantiate(SessionImpl.java:1264)
at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1290)
at org.hibernate.loader.Loader.getRow(Loader.java:1197)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:568)
at org.hibernate.loader.Loader.doQuery(Loader.java:689)
at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2144)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2028)
at org.hibernate.loader.Loader.list(Loader.java:2023)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:393)
at
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at Try.main(Try.java:21)
Trida ZanrDTO je zamapovana pomoci anotaci nasledovne:
@Entity
@Table(name = "ZANR")
public class ZanrDTO {
@Id @GeneratedValue
@Column(name = "ID")
private Long id;
@Column(name = "NAZEV", length=40, nullable = false, unique = true)
private String nazev;
lukas napsal(a):
Kdyz spojite http://www.hibernate.org/hib_docs/v3/reference/en/html/xml.html
kapitola 18.3
Export funguje bez problemu a staci na nej par radku.
Import je slozitejsi, zalezi tam na poradi entit a je nutne je vkladat (tedy i
ukladat), tak jak jsou na sobe zavisle (one-to-one a many-to-one - ukladaji se
jako vnorene XML elementy).
Ja jsem to tak pred rokem programoval podle rad na nejakem blogu, ktery ted
nemuzu najit :-(
Taky vim, ze nefungovalo ukladani many-to-many.
Lukas
On Thu, 19 Apr 2007 12:06:49 +0200, Zdeněk Šenk wrote
Dobry den,
mohl by mi prosim nekdo poradit, jestli existuje nejaky jednoduchy
zpusob, jak vyexportovat a zpetne naimportovat obsah databaze z XML
pomoci Hibernate?
Predem dekuji