好·色之徒
已经转移到 好·色之徒--我的博客、我的生活

通常如果采用Spring来管理hibernate.cfg.xml开发时:
Spring的配置文件中有SessionFactory的配置,主要是通过Spring来建立SessionFactory环境的。定义了数据源dataSource、mappingResources、hibernateProperties,举例如下: com/iplan/portal/start/pojo/hbm/User.hbm.xmlorg.hibernate.dialect.HSQLDialecttrue1trueorg.hibernate.cache.EhCacheProvider 3似乎hibernate.cfg.xml没有存在的必要了,因为它的功能上面都已经体现了。其实不然,上面的配置适合开发时用,属性mappingResources可以随意增删需要测试的部分。
部署时,可以替换属性mappingResources,因为.hbm.xml文件可能数量多、位置杂,何不用hibernate.cfg.xml统一管理呢,也使得spring配置文件“干净”一些。配置如下:
classpath:hibernate.cfg.xmlhibernate.cfg.xml中则设置.hbm.xml内容。

另外:在开发时hibernate.cfg.xml的配置可以是这样: org.hibernate.dialect.HSQLDialectorg.hsqldb.jdbcDriverjdbc:hsqldb:hsql://localhost:9003/hsqldbsatrue感觉上和上面的spring配置有所重叠的地方,不过它主要是用于开发时的设置。可以采用hibernate中的工具类(hbm2ddl)SchemaExport,通过hbm来生成ddl。
管理类如下:
public class ManageDB {
private SessionFactory sessionFactory;
private Session session;

{
try {
sessionFactory = new Configuration().configure().buildSessionFactory();
session = sessionFactory.openSession();
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}

public void execute() {
Configuration conf = new Configuration().configure("/hibernate.cfg.xml");
SchemaExport dbExport=new SchemaExport(conf);
dbExport.create(true, true);
}

public static void main(String[] args){
ManageDB db =new ManageDB();
db.execute();
}
}
这样通过运行ManageDB类,对hibernate.cfg.xml中设置的hbm来生成ddl。生成以后,在spring中的mappingResources中对应追加hbm,用于开发测试。进行下一步时,在hibernate.cfg.xml中追加相应的hbm,删除已经生成ddl的hbm... 到项目最终,spring替换上面提到的configLocation属性,hibernate.cfg.xml中则只保留所有的hbm就可以了。

Spring hibernate开发时的一些小建议   有个论坛

Feedback

# re: Spring hibernate开发时的一些小建议  回复  更多评论   

2006-11-10 13:56 by 坏男孩
踩个脚印

# re: Spring hibernate开发时的一些小建议  回复  更多评论   

2006-11-10 16:01 by 一滴水[匿名]
这种类似spring 和iBatis 的结合,spring 也可以设置.hbm,xml 的包地址,sping会自动搜索 所有的.hbm.xml配置文件

# re: Spring hibernate开发时的一些小建议  回复  更多评论   

2006-11-10 17:27 by 111
是这样的,这里更多关注的是:在开发过程的配置

只有注册用户登录后才能发表评论。


网站导航:
 

posts - 39, comments - 91, trackbacks - 0, articles - 1

Copyright © 城市劣人

好·色之徒