如何扫描Hibernate实体的包而不是使用hbm.xml?
我目前使用Spring 3.1和Hibernate 4通过扫描DAO和服务的包。有没有办法对标记为
@Entity
类执行相同的操作,而不是使用configLocation
属性和hbm.xml
文件?
将扫描模型包中的所有内容。 我使用cfg.xml包含show_sql和hb2ddl.auto等设置。
您可以在应用程序context.xml文件中执行此类操作来扫描所有注释类 –
com.idc.scd.domain com.idc.scd.domain.dropdown com.idc.scd.domain.external com.idc.scd.domain.pk
org.hibernate.dialect.Oracle10gDialect ${hibernate.show_sql} ${hibernate.format_sql} ${hibernate.use_sql_comments} validate true after_statement net.sf.ehcache.hibernate.EhCacheProvider ${hibernate.cache.use_second_level_cache} ${hibernate.cache.use_structured_entries} ${hibernate.jdbc.fetch_size}
您可以使用Spring的mappingLocations属性指定spring查找hibernate映射文件的位置。
希望这可以帮助。
简化,您可以在配置文件’spring-servlet.xml’中使用以下代码:
classpath:hibernate.cfg.xml ${jdbc.dialect} true
注意:
- “sessionFactory”中需要类AnnotationSessionFactoryBean
- 属性“packagesToScan”带有带注释的类包(或包列表 – 请参阅Kumar的例子 – )
- hibernate envers:merge&saveOrUpdate
- Java Hibernate与SQL Server 2012无法正常工作?
- Hibernate“PreInsertEvent.getSource()”NoSuchMethodError
- 使用java,hibernate web应用程序一次限制用户登录单个会话而不使用spring
- 为什么懒惰加载不能在一对一关联中工作?
- Hibernate – 没有为jdbc找到合适的驱动程序:mysql // *
- 没有可用于当前线程的实际事务的EntityManager – 无法可靠地处理“刷新”调用
- 如何级联删除作为jpa实体一部分的集合?
- object引用未保存的瞬态实例:如何刷新或返回保存的对象