Sql server HIbernate 5同一实体多个表

Sql server HIbernate 5同一实体多个表,sql-server,hibernate,spring-boot,Sql Server,Hibernate,Spring Boot,我有一个名为OHLC的实体,它封装了列列表。我有多个表,以1分钟/5分钟/15分钟的间隔存储财务数据的刻度。基本上每个表(即ohlc1min、ohlc5min/ohlc15min)都有相同的数据元组和相同的列名。我没有使用persistence.xml进行映射。在使用session.save/session.merge和常用实体OHLC时,如何映射到不同的表 实体结构 @Entity @Table(name = "ohlc1min") public class OHLC implements S

我有一个名为OHLC的实体,它封装了列列表。我有多个表,以1分钟/5分钟/15分钟的间隔存储财务数据的刻度。基本上每个表(即ohlc1min、ohlc5min/ohlc15min)都有相同的数据元组和相同的列名。我没有使用persistence.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();
        }

创建一个包含所有字段的基类,将其扩展为每个表的不同字段创建一个包含所有字段的基类,将其扩展为每个表的不同字段