在Hibernate中创建多个相同类的表

oxf4rvwz  于 2022-12-29  发布在  其他
关注(0)|答案(1)|浏览(58)

在我使用hib的java项目中,我有一个名为Employee.java的类。我想每月创建一个雇员表,表名为“Employee_MMYYYY”(MM-Month YYYY-Year)。
我尝试过创建自己的命名startegy,并在org.hibernate.cfg的Configuration对象中进行相同的配置。
但我面临的问题是,我的努力导致只创建了一个表。我不能创建多个表。
有人能解释一下吗?

slsn1g29

slsn1g291#

我不知道你为什么要这样做,但最好的方法是使用oracle企业数据库,并添加分区到您的表的范围或列表,这是获得更好的性能的方式。如果你需要数百万行这样做,但如果你需要练习的东西或找到一些方法来创建新的表与月在休眠中,最好知道休眠没有这个功能,所以,你可以创建一个shell程序或者类似的东西(或者使用java来创建新的hibxml配置).不要在javabeans中使用注解而使用xml文件.看看这个:https://docs.oracle.com/cd/E18283_01/server.112/e16541/part_admin001.htm

CREATE TABLE sales
  ( prod_id       NUMBER(6)
  , cust_id       NUMBER
  , time_id       DATE
  , channel_id    CHAR(1)
  , promo_id      NUMBER(6)
  , quantity_sold NUMBER(3)
  , amount_sold   NUMBER(10,2)
  )
 PARTITION BY RANGE (time_id) SUBPARTITION BY HASH (cust_id)
  SUBPARTITIONS 8 STORE IN (ts1, ts2, ts3, ts4)
 ( PARTITION sales_q1_2006 VALUES LESS THAN (TO_DATE('01-APR-2006','dd-MON-yyyy'))
 , PARTITION sales_q2_2006 VALUES LESS THAN (TO_DATE('01-JUL-2006','dd-MON-yyyy'))
 , PARTITION sales_q3_2006 VALUES LESS THAN (TO_DATE('01-OCT-2006','dd-MON-yyyy'))
 , PARTITION sales_q4_2006 VALUES LESS THAN (TO_DATE('01-JAN-2007','dd-MON-yyyy'))
 );

相关问题