Ahoj.

S getDelegate() koncim na cast exception:
java.lang.ClassCastException: org.hibernate.ejb.EntityManagerImpl cannot be
cast to org.hibernate.Session,

riesenim zda sa byt:
Session s = ((EntityManagerImpl) em.getDelegate()).getSession();

ale toho sa trosku bojim.

@Zdenek - neda sa specifikovat, o ake dotazy sa jedna. select-y cez
createnativequery() pouzit dokazem, problem
mam s dotazmi nevracajucimi vysledok ( napr. create table, drop index atd
... ).

Query q2 = em.createNativeQuery("create table foo ( x integer, y integer
);");
q2.executeUpdate();  // exception
q2.getSingleResult(); // nedava zmysel, exception

Chapem, ze toto je nad ramec JPA. Principialne mi uplne staci moznost ziskat
SQL connection a nemat ju nakonfigurovanu zvlast pre JPA a zvlast pre JDBC.
Ci uz ju vytiahnut z poolu, ziskat datasource ktore pouziva JPA alebo
obdobnou cestou.


Diky

Dňa 20. júla 2010 11:09, Ondra Medek <xmed...@gmail.com> napísal(-a):

> Ja pouzivam
>
> (Session) this.em.getDelegate();
>
> metodu unwrap javax.persistence.EntityManager nema. Ale take bych to
> nejprve zkusil pres createNativeQuery.
>
> 2010/7/20 Pavel Réder <j...@ataco.cz>:
> > Zkuste tohle:
> >
> > Session session = em.unwrap(Session.class);
> >
> > Pavel
> >
> >> Ahoj.
> >>
> >> Potreboval by som exec-nut cisty sql command pomocou hibernate. Bolo mi
> >> odporucene na to pouzit Session, co je zaroven kamen urazu.
> >>
> >> Vyrobil som EJB projekt, pridal hibernate, klasicky nakonfiguroval
> >> persistence.xml:
> >>
> >> <persistence-unit name="pu1" transaction-type="JTA">
> >>    <provider>org.hibernate.ejb.HibernatePersistence</provider>
> >>    <jta-data-source>jdbc/msk</jta-data-source>
> >>    <properties>
> >>      <property name="hibernate.hbm2ddl.auto" value="update"/>
> >>      <property name="hibernate.show_sql" value="true"/>
> >>    </properties>
> >>  </persistence-unit>
> >>
> >> V kode ziskavam EntityManafer pomocou injection:
> >>
> >>    @PersistenceContext
> >>    private EntityManager em;
> >>
> >> Problemom ale je, ze nedokazem ziskat tu Session. Vsade na webe vidim
> >> new Configuration().configure().buildSessionFactory().openSession(), co
> >> ale
> >> hlada hibernate.cfg.xml, ktory samozrejme nemam.
> >>
> >> Trosku sa v tom pravdupovediac stracam, potrebujem teda 2 konfiguracne
> >> subory popisujuce to iste db pripojenie?
> >> Alebo nemozem pouzivat klasicke JPA a musim ist na to inak?
> >>
> >> Diky.
> >> Dusan
> >
> >
>
>
>
> --
> Ondra Medek
>

Odpovedet emailem