Hibernate自动建表及一些相关技术总结

LZ最近从github上下载了一个struts2 + hibernate写成的J2EE的项目,其中就用到hibernate来操作数据库,那么我又重新研究了下hibernate这个操作数据库的工具。首先hibernate可以通过配置它的***.hbm.xml文件来进行反射配置自动生成相关的数据表。然后就是写几个关于每个表的java类,并且生成相应的***.hbm.xml文件来配置。当然这里要注意的是,还需要一个最关键的java来调用这个***.hbm.xml文件来生成相应的数据表,其中一个关键问题是hibernate的配置文件中有一个需要注意的地方,就是update/create的配置。具体的配置目录是<property name="hibernate.hbm2ddl.auto">update</property>,这个中的配置可以有四个,分别是update/create/create-drop/validate这个文件,其中我们主要用的是update,这个表示每次在更新的时候,都可以不用重新新建表格,然后自动回根据与之前的表格比较来重新更新新的表格。接下来就是具体的调用***.hbm.xml的java代码了。

public class create 
{
	static Session session;
	static Configuration config = null;
	static Transaction tx = null;
	public static void main(String args[])
	{
		try
		{
			config = new Configuration().configure(new File("src/hibernate.cfg.xml"));
			SessionFactory sessionFactory = config.buildSessionFactory();
			session = sessionFactory.openSession();
			tx = session.beginTransaction();
			SchemaUpdate schemeUpdate = new SchemaUpdate(config);
			schemeUpdate.execute(true,true);
			tx.commit();
		}
		catch(HibernateException ex)
		{
			ex.printStackTrace();
		}
	}
}

这个代码中有一个SchemaUpdate的类,这个类是用来根据配置文件来更新,当然也有一个SchemaExport的类,这个类的有一个方法是schemaExport.create(true,true)的方法,这个方法是每次在run这个java方法时候,就会重新新建表,所以这样就会就会把之前保存进数据库的数据给覆盖了,而不是原来的基础上重新填入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值