hibenate 동적 테이블 이름 맵

2104 단어 Hibernate
방법 1
        
ibernate         map    
1)     

          class table     , entity-name        :

<class=”MyClass” entity-name=”testA” table=”mytable_A”>

<property name=”name” column=”st_name”/>

……

</class>

 

<class=”MyClass” entity-name=”testB” table=”mytable_B”>

<property name=”name” column=”st_name”/>

……

</class>

 

(2) API  、HQL     entity-name,   class  。

get(“testA”, id)

delete(“testA”, object)

save(“testA”, object)

saveOrUpdate(“testA”, object)

 

from testA t where t.name = ‘hello’

 방법 2
  
  Hibernate                : 
       ,         ,(        )。       ,        
        ,      。                     ? 

    ,  Hibernate  NamingStrategy        。               
      。                     。            ,    
public String classToTableName(String className)           。           
     。  ,       : 

1、      MyNamingStrategy   NamingStrategy。(      10   ,       
   ,                DefaultNamingStrategy           )  ,  
    DefaultNamingStrategy  。 
2、  public String classToTableName(String className)           。 
                   。  1  biz_1,  2   biz_2....            。                    。           : 
public class MyNamingStrategy extends DefaultNamingStrategy { 
public static final MyNamingStrategy INSTANCE = new MyNamingStrategy(); 
public String classToTableName(String className) { 
return "biz_" + Calendar.getInstance().get(Calendar.DAY_OF_MONTH); 
} 
} 

  ,                  。 
3、      。 
             : 
Configuration cfg = new Configuration() 
.setNamingStrategy(MyNamingStrategy.INSTANCE) 
.configure("hibernate.cfg.xml") 
.addFile("biz.hbm.xml"); 
ok,                 ! 

좋은 웹페이지 즐겨찾기