2010-03-22 42 views

回答

0

它可能通過hibernate的ClassMetadata。

Session session = (Session) entityManager.getDelegate(); 
SessionFactoryImplementor sessionFactory = (SessionFactoryImplementor) session.getSessionFactory(); 
ClassMetadata hibernateMetadata = sessionFactory.getClassMetadata(pEntityClass.getName()); 
if (hibernateMetadata instanceof AbstractEntityPersister) { 
    /*...look at protected methods that return SQL Strings for the entity getSQLIdentityInsertString,getSQLLazySelectString,getSQLSnapshotSelectString,getSQLUpdateByRowIdStrings,getSQLLazyUpdateByRowIdStrings,getSQLDeleteStrings,getSQLInsertStrings,getSQLUpdateStrings,getSQLLazyUpdateStrings */ 
} 

請看下面的鏈接,以訪問受保護的方法: http://tutorials.jenkov.com/java-reflection/private-fields-and-methods.html

相關問題