Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中建模M:N关系的类:记住实例还是主键?_Java_Relationship - Fatal编程技术网

Java中建模M:N关系的类:记住实例还是主键?

Java中建模M:N关系的类:记住实例还是主键?,java,relationship,Java,Relationship,我有一个类Lease建模类Customer和VideoGame之间的关系。相当简单和直接;它看起来像这样: class Lease() { private VideoGame videoGame; private Customer customer; // etc. public Lease(VideoGame videoGame, Customer customer) { this.videoGame = videoGame; t

我有一个类
Lease
建模类
Customer
VideoGame
之间的关系。相当简单和直接;它看起来像这样:

class Lease() {
    private VideoGame videoGame;
    private Customer customer;
    // etc.
    public Lease(VideoGame videoGame, Customer customer) {
        this.videoGame = videoGame;
        this.customer = customer;
    }
}
这三个类中的每一个都由一个带有自动生成索引的数据库表表示,另外,
租赁
表还有一个外键,用于引用
客户
视频游戏

从数据库检索
租约时,我是否应该

  • 继续在my
    getLease(long id)
    方法中检索
    VideoGame
    Lease
    实例,并将这些对象存储在
    Lease
    实例中
  • 或者,
    Lease
    类只记住“外键”更好吗?我应该只在需要时检索
    Customer
    视频游戏的一个实例?这需要将
    Lease
    类更改为

    类别租赁(){ 长视频游戏; 长期客户; //等等。 }


  • first方法似乎更自然,但我正在寻找一些关于这方面的“最佳实践”建议。谢谢大家!

    如果您使用的是ORM框架(Hibernate、JPA等),您应该根据需要创建类关系,即通常使用类到类关系。framwork负责创建查询并在DB表中保存主键


    若您不使用任何框架,那个么由您决定在何处将关键点转换为对象以及如何创建模型,但在模型中使用对象更为自然

    谢谢,感觉很自然。我将坚持使用模型中的对象。