gpt4 book ai didi

java - Spring JDBC 一对一关系

转载 作者:行者123 更新时间:2023-12-01 14:44:31 27 4
gpt4 key购买 nike

我正在将 Spring JDBC 用于我正在开发的应用程序,但我遇到了一个问题。在我的域层中,我有字段;原始类型和对象关联。如果一个人属于一个市政府,我有:

public class Person {

private Municipality municipality;

// More code
}

public class Municipality {
// More code
}

在数据库中,您可以使用主键+外键对此进行建模。本例中的人员表有一个指向城市表主键的外键。我为个人和市政府创建了一个存储库。现在我想检索一个人,但我也想同时将市政府连接到它。

我做的第一件事是使用 Person 存储库找到该人。然后我想找到属于该人的市政府。然而目前我没有在我的域对象中建模的外键。这意味着,我的 Person 类中没有 private int cityity_id 字段。这将导致域对象与数据库耦合(至少现在是这样)。

发出另一个查询只是为了查找 cityity_id 感觉不正确。我怎么解决这个问题?但是我需要 cityity_id 来查找市政当局。

最佳答案

这里有一些可能的选择供您选择。

  1. 在人员对象中包含市政府 ID。听起来您对这种方法有疑问。这并不困扰我。我只需在查询中带回 id 和其他人的数据即可。
  2. 发出第二个查询以获取城市,然后将城市填充到 person 对象上。我也不认为这种方法有任何问题。
  3. 将两个表连接在一起并返回两个对象的数据。在映射器中,您将创建一个市政对象并将其设置到人员对象中。

关于java - Spring JDBC 一对一关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15581719/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com