在hibernate中创建同一个类的多个表



在我使用hibernate的java项目中,我有一个名为Employee.java的类。我想创建每个月的员工表,表名为'Employee_MMYYYY' (MM-Month YYYY-Year)。
我尝试创建自己的命名策略,并在org.hibernate.cfg的配置对象中配置相同的命名策略。
但我面临的问题是,我的努力导致只创建一个表。我不能创建多个表。

有人能解释一下吗?

我不知道你为什么要这样做,但最好的方法是使用oracle企业数据库并按范围或列表添加分区到你的表,这是获得更好性能的方法。如果您需要数百万行,可以这样做,但如果您需要练习一些东西或找到一些方法在hibernate中使用Month创建新表,最好知道hibernate没有这个功能,因此,您可以创建一个shell程序或类似的东西(或使用java创建新的hibernate xml配置)。不要在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'))
);

最新更新