簡體   English   中英

是否可以為同一個 jpa 實體創建多個表?

[英]Is it possible to create multiple tables for the same jpa entity?

我有一個實體 Messages,它是一個記錄時間戳、消息和 machine_uuid 的類

public class Messages  {

    private UUID                uuid;
    private UUID                machine;
    private long                timestamp;
    private String              message;                                        
}

如果有很多機器定期發送消息,那么這個表很快就會變得很大。 是否可以為每台機器創建單獨的消息表?

不。這在 JPA 中是不可能的,但大多數數據庫供應商都支持這種情況下的“表分區”。

https://dev.mysql.com/doc/refman/8.0/en/partitioning.html

如果您有一個數據庫實例,那么您不需要為不同的機器 ID 使用不同的表。 您可以為機器 UUID 創建 INDEX 並在不浪費時間的情況下進行操作。 為不同的 ID 使用不同的表是不好的做法。

您將很難按名稱支持不同的表,例如表:messages_machine_id_1、messages_machine_id_2。 尤其是當您要刪除或添加其他機器時,使用機器 ID 進行查詢既簡單又快捷。

這不是問題,如果表很大,只需添加索引即可快速檢索數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM