成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hibernate schema簡單分析

開發 后端
這里介紹Hibernate schema,向POI_BEIJING中插入數據的,變成了向POI_SHANGHAI中插入一條數據了。通過這種方法,可以實現在操作不同的Schema的時候實現切換。

Hibernate有很多值得學習的地方,這里我們主要介紹Hibernate schema,包括介紹切換Schema等方面。

Hibernate schema

如果你在調用Hibernate的時候需要切換schema怎么辦呢。

在oracle中,不同的用戶,使用不同的schema.在Hibernate的POJO中,會指定了schema

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
  4. <!--  
  5. Mapping file autogenerated by MyEclipse Persistence Tools  
  6. --> 
  7. <hibernate-mapping> 
  8. <class name="com.csc.poimanager.dao.Poi" table="POI" schema="P_BEIJING"> 
  9. <id name="poiId" type="java.lang.Long"> 
  10. <column name="POI_ID" precision="10" scale="0" /> 
  11. <generator class="increment" /> 
  12. </id> 
  13. <property name="cnName" type="java.lang.String"> 
  14. <column name="CN_NAME" length="1000" /> 
  15. </property> 
  16. </class> 
  17. </hibernate-mapping> 

上面的代碼部分,就指定了Schema.如果在操作的時候想切換Schema.操作如下:

默認的配置<property name="Hibernate.default_schema">POI_BEIJING</property>

上面的映射文件改為:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
  4. <!--  
  5. Mapping file autogenerated by MyEclipse Persistence Tools  
  6. --> 
  7. <hibernate-mapping> 
  8. <class name="com.csc.poimanager.dao.Poi" table="POI" > 
  9. <id name="poiId" type="java.lang.Long"> 
  10. <column name="POI_ID" precision="10" scale="0" /> 
  11. <generator class="increment" /> 
  12. </id> 
  13. <property name="cnName" type="java.lang.String"> 
  14. <column name="CN_NAME" length="1000" /> 
  15. </property> 
  16. </class> 
  17. </hibernate-mapping> 

在操作的,可以用下面的方法來重新build你的SessionFactory

  1. public static void rebuildSessionFactoryForChangeSchema(String newSchema){  
  2. try {  
  3.  
  4. Properties p = configuration.getProperties();  
  5. System.out.println("---" + p);  
  6. p.put("hibernate.default_schema", newSchema);  
  7. sessionFactory = configuration.buildSessionFactory();  
  8. System.out.println(" change schema successfully ......... ");  
  9. } catch (Exception e) {  
  10. System.err  
  11. .println("%%%% rebuild session factory failed for changing schema %%%%");  
  12. e.printStackTrace();  
  13. }  

如果需要改變Schema,就需要在需要的時候調用此方法。

比如在SchemaAction中

  1. HibernateSessionFactory.rebuildSessionFactoryForChangeSchema("POI_SHANGHAI");  
  2.  
  3. System.out.println(" change successfully---");  
  4.  
  5. PoiDAO pd = new PoiDAO();  
  6. Transaction t =pd.getSession().beginTransaction();  
  7.  
  8. pd.save(new Poi("jsfjksdf"));  
  9. t.commit(); 

那么,原來,是向POI_BEIJING中插入數據的,變成了向POI_SHANGHAI中插入一條數據了。通過這種方法,可以實現在操作不同的Schema的時候實現切換。

問題:此處改變的是靜態工廠。所以,會對所有的用戶產生影響。如果不想對所有的用戶改變,那么可以根據Schema的名稱來取得自己對應的SessionFactoy就可以了。以上介紹Hibernate schema。

【編輯推薦】

  1. 淺析Hibernate orm框架
  2. Hibernate Callback簡單概括
  3. 概述Hibernate dbcp連接池使用方法
  4. Hibernate Shard三種策略剖析
  5. 討論Hibernate和模型對象
責任編輯:佚名 來源: IBMDW
相關推薦

2009-09-23 13:33:51

Hibernate屬性

2009-09-28 15:38:12

Hibernate P

2009-09-24 13:12:20

Hibernate原生

2009-09-25 14:04:12

Hibernate讀取

2009-09-29 10:40:26

Hibernate業務

2009-09-24 10:25:30

Hibernate發展

2009-09-24 16:56:12

Hibernate S

2009-09-22 12:45:00

Hibernate性能

2009-09-22 15:10:22

Hibernate映射

2009-09-25 10:00:47

Hibernate映射

2009-09-28 12:57:54

Hibernate C

2009-09-28 15:43:42

Hibernate O

2009-09-23 10:58:32

Hibernate T

2009-09-22 11:16:27

Hibernate經驗

2009-09-22 15:33:34

Hibernate U

2009-09-24 09:52:20

Spring Hibe

2009-09-27 13:00:56

Hibernate S

2009-09-29 14:03:14

Hibernate數據

2009-09-24 10:06:42

Hibernate實例

2009-09-22 09:00:35

Hibernate A
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品视频www| 在线中文字幕国产 | 国产女人与拘做受视频 | av福利网 | 欧美午夜精品 | 欧美视频在线观看 | 毛片99| 成人在线观看网站 | 国产欧美精品一区二区色综合 | 国产亚洲精品久久久久久豆腐 | 欧美a∨| 日本黄色短片 | 91网视频 | 亚洲精品一区二区三区免 | 日本成人久久 | 欧州一区二区三区 | 久久久网 | 中文字幕国产视频 | 中文字幕91 | 久久久久亚洲 | 久久一二 | 成人性视频在线 | 久久国产精品-国产精品 | 黄色a级一级片 | 欧美成人精品一区二区男人看 | 日韩资源 | 美女在线一区二区 | 丁香综合| 久久久久精 | 久久精品成人热国产成 | 黄色一级免费 | 欧洲一级毛片 | 国产精品亚洲综合 | 国产精品一区二区三区在线 | 亚洲国产精品一区二区久久 | 国产日韩欧美中文 | 盗摄精品av一区二区三区 | 久久久久久看片 | 欧美成人精品一区二区三区 | 波多野结衣二区 | 日本精品一区二区三区在线观看视频 |