我有三个设备,我建了三个表去存储这三个设备的历史数据,分别叫data_his1,data_his2,data_his3,这三个表字段都相同,同时我建了一个跟历史表字段相同的pojo如下:
@Table
public class data_his {
@Id
@Column
@ColDefine(type = ColType.INT)
@Prev({
@SQL(db= DB.MYSQL,value = "SELECT IFNULL(MAX(Id),0)+1 FROM data_his"),
@SQL(db= DB.ORACLE,value = "SELECT COALESCE(MAX(Id),0)+1 FROM data_his")
})
private int Id;
@Column
@Comment("data")
@ColDefine(type = ColType.TEXT)
private String DataContent;
现在我遇到的问题是:
1,如果我用pojo去插入数据,如何动态解决对应到不同数据表名的问题?(比如我想把这个pojo插入到data_his2表)
2,如果采用dao去插入数据,那如何初始化int型Id字段?我是不是要去数据库里先查一下Max(Id),再+1后赋值?
PS:如果把Id换成guid的话比较容易解决,但我还是想用int型的。
有没有现有的接口,或者更好的解决方案?