类的配置如下
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.hibernate.cache">

<class name="Student">
<id name="id">
<generator class="native"/>
</id>

<property name="name"></property>
<property name="createtime"/>

<many-to-one name="classes" class="Classes">
</many-to-one>

<filter name="studentFilter" condition="id &lt;:myid" >

</filter>

</class>

<query name="queryStudent">
<![CDATA[
select s from Student s
]]>
</query> <filter-def name="studentFilter" >
<filter-param name="myid" type="integer"/>
</filter-def>
</hibernate-mapping>
hibernate的xml配置没有问题测试方法如下 public static void test1()
{
Session session = HibernateUtil.getSession();
session.beginTransaction();

Student student = (Student) session.get(Student.class,1);
System.out.println(student.getName());
session.getTransaction().commit();

HibernateUtil.closeSession(session);



Session session2 = HibernateUtil.getSession();
session2.beginTransaction();

Student student2 = (Student) session2.get(Student.class,1);
System.out.println(student2.getName());

session2.getTransaction().commit();

HibernateUtil.closeSession(session2);
}控制台打印缓存信息如下
Hibernate: select student0_.id as id0_0_, student0_.name as name0_0_, student0_.createtime as createtime0_0_, student0_.classes as classes0_0_ from Student student0_ where student0_.id=?
王凯1
6079 [main] INFO org.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml
6079 [main] INFO org.hibernate.cfg.Configuration - Configuration resource: /hibernate.cfg.xml
6086 [main] INFO org.hibernate.cfg.Configuration - Reading mappings from resource : com/hibernate/cache/Student.hbm.xml
6101 [main] INFO org.hibernate.cfg.HbmBinder - Mapping class: com.hibernate.cache.Student -> Student
6102 [main] INFO org.hibernate.cfg.Configuration - Reading mappings from resource : com/hibernate/cache/Classes.hbm.xml
6148 [main] INFO org.hibernate.cfg.HbmBinder - Mapping class: com.hibernate.cache.Classes -> Classes
6149 [main] INFO org.hibernate.cfg.Configuration - Configured SessionFactory: null
6150 [main] INFO org.hibernate.cfg.HbmBinder - Mapping collection: com.hibernate.cache.Classes.students -> Student
6151 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
6151 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
6152 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false
6154 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/cache
6154 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=root, password=****}
6179 [main] INFO org.hibernate.cfg.SettingsFactory - RDBMS: MySQL, version: 5.1.65-community
6179 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.22 ( Revision: ${bzr.revision-id} )
6179 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.MySQLDialect
6179 [main] INFO org.hibernate.transaction.TransactionFactoryFactory - Using default transaction strategy (direct JDBC transactions)
6179 [main] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
6181 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled
6181 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled
6181 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch size: 15
6181 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch updates for versioned data: disabled
6181 [main] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: enabled
6181 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): enabled
6181 [main] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto
6181 [main] INFO org.hibernate.cfg.SettingsFactory - Maximum outer join fetch depth: 2
6181 [main] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1
6181 [main] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled
6182 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled
6182 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled
6182 [main] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
6182 [main] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory
6182 [main] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {}
6182 [main] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: disabled
6182 [main] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled
6182 [main] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled
6182 [main] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge
6182 [main] INFO org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge - Cache provider: org.hibernate.cache.EhCacheProvider
6182 [main] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled
6182 [main] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled
6182 [main] INFO org.hibernate.cfg.SettingsFactory - Echoing all SQL to stdout
6182 [main] INFO org.hibernate.cfg.SettingsFactory - Statistics: disabled
6182 [main] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled
6182 [main] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo
6182 [main] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled
6191 [main] INFO org.hibernate.impl.SessionFactoryImpl - building session factory
三月 02, 2013 10:30:14 上午 net.sf.ehcache.CacheManager detectAndFixDiskStorePathConflict
WARNING: Creating a new instance of CacheManager using the diskStorePath "C:\Users\wk\AppData\Local\Temp\" which is already used by an existing CacheManager.
The source of the configuration was classpath.
The diskStore path for this CacheManager will be set to C:\Users\wk\AppData\Local\Temp\\ehcache_auto_created_1362191414739.
To avoid this warning consider using the CacheManager factory methods to create a singleton CacheManager or specifying a separate ehcache configuration (ehcache.xml) for each CacheManager instance.
6304 [main] WARN org.hibernate.cache.EhCacheProvider - Could not find configuration [com.hibernate.cache.Student]; using defaults.
6308 [main] WARN org.hibernate.cache.impl.bridge.EntityRegionAdapter - read-only cache configured for mutable entity [com.hibernate.cache.Student]
6310 [main] WARN org.hibernate.cache.EhCacheProvider - Could not find configuration [com.hibernate.cache.Classes]; using defaults.
6314 [main] WARN org.hibernate.cache.impl.bridge.EntityRegionAdapter - read-only cache configured for mutable entity [com.hibernate.cache.Classes]
6319 [main] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
Hibernate: select student0_.id as id4_0_, student0_.name as name4_0_, student0_.createtime as createtime4_0_, student0_.classes as classes4_0_ from Student student0_ where student0_.id=?
王凯1为什么第二次还会打印sql语句,二级缓存配置········hibernate