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

Odpovedet emailem