Okay I figured this one out. You can specify an Interceptor implementation for the entire session factory using the SessionFactoryInterceptor attribute of the mbean descriptor:
Code:
<mbean code="org.jboss.hibernate.jmx.Hibernate" name="jboss.har:service=DBOFactory,name=DBOFactory">
<depends>jboss:service=TransactionManager</depends>
<depends>jboss.har:service=HARDeployer</depends>
<depends>jboss.jca:service=LocalTxCM,name=jdbc/DBONewDS</depends>
<attribute name="SessionFactoryName">java:/hibernate/DBOFactory</attribute>
<attribute name="DatasourceName">java:/jdbc/DBONewDS</attribute>
<attribute name="Dialect">net.sf.hibernate.dialect.MySQLDialect</attribute>
<attribute name="CacheProviderClass">net.sf.hibernate.cache.HashtableCacheProvider</attribute>
<attribute name="ShowSqlEnabled">false</attribute>
<attribute name="SessionFactoryInterceptor">com.hotfreaks.hibernate.dbo.AuditInterceptor</attribute>
</mbean>
I got thrown for a tiny bit of a loop here because I thought that because the attribute was named SessionFactoryInterceptor, it was supposed to look for a FactoryInterceptor or something similar that would give me hooks into where the sessions were getting created,
then I could manually apply my Interceptor implementation.
So if anyone is reading this because they are trying to figure out how to attach an Interceptor to their sessions when using the JBoss-Hibernate integration code, just implement interceptor, and throw the class in the SessionFactoryInterceptor attribute of the mbean descriptor as shown above.