我正在使用 HibernateTemplate + 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/HibernateTemplate 中手写 sql 语句?有点动态创建表?
环境: - Mysql、Hibernate3.5.3、springframework3.0
最佳答案
I want to separate different stock into a different table, so with the data above I will end up having 3 tables (AAPL, MSFT, INTC)
然后要么引入继承层次结构(使用 JOINED 或 TABLE_PER_CLASS 策略)并保留适当的子类型,要么使用 horizontal partitioning (但这需要一些测试,我从未使用 MySQL 和 Hibernate 这样做过)。
关于java - Hibernate 模板中的动态表创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3217767/