我正在使用hibernatemplate+SpringFramework导入股票报价数据
数据格式

AAPL,09-Jun-2010 09:00,251.47,251.47,251.39,251.39,640
AAPL,09-Jun-2010 09:01,251.4,251.4,251.05,251.26,6844
INTC,09-Jun-2010 09:00,251.47,251.47,251.39,251.39,640
INTC,09-Jun-2010 09:01,251.4,251.4,251.05,251.26,6844
MSFT,09-Jun-2010 09:00,251.47,251.47,251.39,251.39,640
MSFT,09-Jun-2010 09:01,251.4,251.4,251.05,251.26,6844

我有一个实体类叫做Stock
@Entity
public class Stock implements Serializable {
public Stock() {}

private Long id;
private BigDecimal open;
    .... close,high, low..etc
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
    ....

这个设置的问题是hibernate将把所有内容放入一个名为“Stock”的表中。
我想把不同的股票分成不同的表,所以根据上面的数据,我将得到3个表(AAPL,MSFT,INTC)
在Hibernate/hibernatemplate中,有没有一种简单的方法可以在不使用手工编写的sql语句的情况下做到这一点?动态创建表的方式?
环境:
-Mysql,Hibernate3.5.3,springframework3.0版本

最佳答案

我想把不同的股票分成不同的表,所以根据上面的数据,我将得到3个表(AAPL,MSFT,INTC)
然后,要么引入继承层次结构(使用联接或表/类策略)并持久化适当的子类型,要么使用horizontal partitioning(这需要一些测试,不过,我从未在MySQL和Hibernate中这样做过)。

关于java - 在Hibernate模板中创建动态表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3217767/

10-10 11:35