How to get database metadata from entity manager

前端 未结 6 1757
梦如初夏
梦如初夏 2021-02-07 09:00

I have an app which is using hibernate and jpa. I need to find out which db it is connected to so that some native sql query i execute based on db say for eg. oracle and postgre

6条回答
  •  傲寒
    傲寒 (楼主)
    2021-02-07 09:25

    In Hibernate 4, you can get the database infos from the entity manager with that code:

    org.hibernate.engine.spi.SessionImplementor sessionImp = 
         (org.hibernate.engine.spi.SessionImplementor) eManager.getDelegate();
    DatabaseMetaData metadata = sessionImp.connection().getMetaData();
    //do whatever you need with the metadata object...
    metadata.getDatabaseProductName();
    

    Cheers

    Emmanuel

提交回复
热议问题