sql-server - HIbernate 5 同实体多表
问题描述
我有一个名为 OHLC 的实体,它封装了列列表。而且我有多个表格,以 1 分钟/5 分钟/15 分钟的间隔存储财务数据的刻度。基本上每个表(即 ohlc1min、ohlc5min/ohlc15min)都有相同的数据元组和相同的列名。我没有使用persistance.xml 进行映射。使用 session.save/session.merge 和常用实体 OHLC 时如何映射到不同的表?
实体结构
@Entity
@Table(name = "ohlc1min")
public class OHLC implements Serializable{
private static final long serialVersionUID = 779384126251139719L;
private Long id;
private String stock;
private Date tickDate;
private String source;
private String date;
private double open;
private double high;
private double low;
private double close;
private long volume;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Column(name = "stock", nullable = false)
public String getStock() {
return stock;
}
public void setStock(String stock) {
this.stock = stock;
}
...
控制器:
try {
//transaction.begin();
for(OHLC ohlc : allOHLC) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
ohlc.setTickDate(sdf.parse(ohlc.getDate()));
//temp = OHLCController.createOHLC(ohlc);
try {
session = HibernateUtil.getSessionFactory().openSession();
transaction = session.beginTransaction();
session.merge(ohlc);
transaction.commit();
} catch (Exception exp) {
transaction.rollback();
}
}
HibernateUtil.shutdown();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
解决方案
推荐阅读
- git - 使用 Git Flow 的正确流程是什么?
- r - (函数(el,elname)中的错误:“plot.title.position”不是有效的主题元素名称
- mysql - laravel 嵌套数据库事务未提交
- vue.js - nuxtjs vuetify v-img 占位符不起作用
- python - 尝试抓取特定网页时,在 Python 中发送请求返回无
- c++ - 如何在 C++ 中将单个字节写入文件,同时保持文件的其余部分不变
- .net - Oracle Scaffold-DbContext for Net Core 没有 [Key] 属性?(.net 核心 v.2.1)
- sql - ORA-00001: 违反了唯一约束 pk
- reactjs - 环境变量在 react firebase 配置文件中不起作用
- node.js - 如何将静态 React“应用程序”部署到 Heroku?