模型应包含ID吗?

时间:2019-01-05 09:08:08

标签: java database model-view-controller model

我正在编写一个包含模型的数据库驱动的Java应用程序。我不知道在哪里放置身份证。应该在模型还是其他对象中。

public class model {
    int id;
    int data;
}

此外,如何创建初始ID值?

1 个答案:

答案 0 :(得分:0)

  

我正在编写一个包含模型的数据库驱动的Java应用程序。

如果模型类包含数据库信息,则这些类是存储它们所代表的表/视图/集合的ID的最佳位置。
通常,对于非复合键,您通常将ID直接表示为int/long,而通常希望使用特定的类(例如:

)来表示复合键。
public class Model {
    ModelPk modelPk;
    int data;
    //getters
}

public class ModelPK {
    long idFoo;
    long idBar;
    //getters
}
  

此外,如何创建初始ID值?

使用关系数据库时,通常是自动递增序列。
使用NoSQL DB,原子序列是可能的,而这不是标准方法(不一定可扩展并适合爆炸数据模型)。其他方式允许生成具有某些约束(根据情况可以接受)的唯一对象标识符(例如,不一定是一系列数字,而是时间戳和其他东西的混合)。

无论如何,您永远都不想自己生成标识符,因为确保标识符在多个应用程序的潜在多个客户端之间的一致性和唯一性至关重要。