java是否可以为同一jpa实体创建多个表?
我有一个实体消息,它是一个记录时间戳、消息和机器ID的类
public class Messages {
private UUID uuid;
private UUID machine;
private long timestamp;
private String message;
}
如果有许多机器定期发送消息,那么表很快就会变得巨大。是否可以为每台机器创建单独的消息表
# 1 楼答案
如果您有一个DB实例,那么您不需要为不同的机器ID创建不同的表。您可以为机器UUID创建索引,并在不损失时间的情况下进行操作。对于不同的ID使用不同的表是不好的做法
按名称支持不同的表会很麻烦,比如表:messages\u machine\u id\u 1、messages\u machine\u id\u 2。特别是,当您要删除或添加其他机器时,但是,使用机器ID进行查询既简单又快速
这并不是问题,若表很大,只需添加索引,就可以快速检索数据
# 2 楼答案
不可以。这在JPA中是不可能的,但大多数数据库供应商都支持这种情况下的“表分区”
https://dev.mysql.com/doc/refman/8.0/en/partitioning.html