重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容介绍了“Hibernate schema怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
目前创新互联已为成百上千家的企业提供了网站建设、域名、虚拟主机、网站托管运营、企业网站设计、海湖新网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
Hibernate schema
如果你在调用Hibernate的时候需要切换schema怎么办呢。
在oracle中,不同的用户,使用不同的schema.在Hibernate的POJO中,会指定了schema
上面的代码部分,就指定了Schema.如果在操作的时候想切换Schema.操作如下:
默认的配置
上面的映射文件改为:
在操作的,可以用下面的方法来重新build你的SessionFactory
public static void rebuildSessionFactoryForChangeSchema(String newSchema){ try { Properties p = configuration.getProperties(); System.out.println("---" + p); p.put("hibernate.default_schema", newSchema); sessionFactory = configuration.buildSessionFactory(); System.out.println(" change schema successfully ......... "); } catch (Exception e) { System.err .println("%%%% rebuild session factory failed for changing schema %%%%"); e.printStackTrace(); } }
如果需要改变Schema,就需要在需要的时候调用此方法。
比如在SchemaAction中
HibernateSessionFactory.rebuildSessionFactoryForChangeSchema("POI_SHANGHAI"); System.out.println(" change successfully---"); PoiDAO pd = new PoiDAO(); Transaction t =pd.getSession().beginTransaction(); pd.save(new Poi("jsfjksdf")); t.commit();
那么,原来,是向POI_BEIJING中插入数据的,变成了向POI_SHANGHAI中插入一条数据了。通过这种方法,可以实现在操作不同的Schema的时候实现切换。
问题:此处改变的是静态工厂。所以,会对所有的用户产生影响。如果不想对所有的用户改变,那么可以根据Schema的名称来取得自己对应的SessionFactoy就可以了。
“Hibernate schema怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!