使用 Neo4J 和 Spring Data 按 ID 创建关系

2024-04-14

我定义了一个简单的节点对象,如下所示:

@Node("product")
public class Product {

    @Id
    private String sku;

    ...

    @Relationship(type = "SOLD_BY")
    private Set<Shop> shops = new HashSet<>();

    ...
}

然而,我的担忧是:

  • 创建(并保存)新的Product我不仅要创造Product,而且还有列表Shop对象。也许还有一个Shop对象持有一个Address对象或列表Employees本身。这意味着我被迫构建一个巨大的对象列表。
  • 另外,也许Shop对象已存在于数据库中,我不想通过保存新对象来覆盖它们Product.
  • 通过加载一个Product, 所有相关的Shop对象将被加载等等。但我只对Product,而不是与它相关的所有事物。

所以我想这样做:

    @Relationship(type = "SOLD_BY")
    private Set<String> shops = new HashSet<>(); // Just the IDs of the Shops
  • 这可能吗?
  • 这是解决我的问题的有效方法吗?

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Neo4J 和 Spring Data 按 ID 创建关系 的相关文章

随机推荐

  • 无法加载文件或程序集“System.Web.Providers”

    你好 这是我的配置文件
  • Fork 系统调用失败后 rax 中的返回值是多少?

    我知道打电话fork 在C中如果有错误将返回 1 但我想知道当你调用时错误返回值是什么sys fork在装配中 我通常会假设它也返回 1 但我已经处理过 sys brk 并且汇编中的原始系统调用返回与 C Brk 包装器不同的东西 有谁知道
  • Node.js 未处理的拒绝错误

    我的代码中出现未处理的拒绝错误 但跟踪不会告诉我导致该错误的原因 我认为这是webp cwebp导致问题的电话 当我运行代码时 我成功转换了图像和日志状态 然后遇到了未处理的拒绝 貌似我没有进入最后两个 then 阻塞 因为没有控制台消息被
  • 当模块内且选择标准发生更改时,如何更新 Shiny 中的 DT 数据表

    我尝试制作一个闪亮的模块来使用 DT 包呈现来自数据帧的数据 我想使用一个模块来对 DT 表选项 如语言和其他选项 进行标准设置 我希望用户能够以交互方式选择数据的不同子集 然后能够将数据视为 DT 表 子集的选择将在模块外部生成 因为我希
  • 如何在 Vue.js 中使用“img src”? [复制]

    这个问题在这里已经有答案了 我的 Vue js 模板中有这个 img src media avatars joke avatar alt 它位于一个呈现笑话的循环内 其他字段渲染得很好 但对于图像 我在控制台中收到此错误 src media
  • 使用 kotlin 自定义风格中的 ClassNotFoundException

    我定义了自己的风格并设置了sourceSet sourceSets main java srcDirs src main kotlin WORKS myflavor java srcDirs src myflavor kotlin DOES
  • LinearLayout 使用 java 代码动态设置边框颜色,无需 XML

    我对这个问题做了一些研究 但还没有发现类似的东西 首先 我使用 ShapeDrawable 制作线性布局的边框 然后我尝试在 LinearLayout 上设置背景颜色 但颜色未设置然后我注释了两行 ShapeDrawable 然后在设置线性
  • 将 GMT 时间转换为 EST

    我的 sql 服务器位于 GMT 我需要获得 EST 等效 tz 不知何故 EST 是错误的 select now convert tz now GMT EST convert tz now GMT EST interval 10 minu
  • 计算 Java 集合中出现次数的优雅方法

    给定一个可能有重复项的对象集合 我希望最终得到每个对象的出现次数 我通过初始化一个空的来做到这一点Map 然后迭代Collection并将对象映射到其计数 每次映射已包含该对象时增加计数 public Map
  • .NET 通过时区名称获取时区偏移量

    在数据库中 我将所有日期 时间存储为 UTC 我知道用户的时区名称 例如 美国东部标准时间 为了显示正确的时间 我想我需要将用户的时区偏移量添加到 UTC 日期 时间 但是我如何获得时区名称的时区偏移量 谢谢你 您可以使用TimeZoneI
  • 计算字符串中最大连续 RE 组的数量[重复]

    这个问题在这里已经有答案了 如何计算字符串中连续字符串组的最大数量 import re s HELLOasdHELLOasdHELLOHELLOHELLOasdHELLOHELLO Give me the max amount of con
  • SwiftUI - 如何在 macOS 上将 onCommand 与 NSMenuItem 结合使用

    我正在尝试找到在 macOS 上将 NSMenuItem 与 SwiftUI onCommand 连接的最佳解决方案 目前我正在做以下事情 在 AppDelegate 中 我创建了一个虚拟函数 以便能够列出第一响应者收到的操作列表的函数 I
  • IntelliJ 工件 JAR 文件:无法找到或加载主类

    我在 IntelliJ 中创建了一个 JAR 工件 可以选择将 JAR 文件提取到目标 JAR 看起来像这样 我正确填写了清单信息 我使用 ZIP 检查了 JAR 文件的内容 它包含 jar 文件 正确填充的 MANIFEST MF 和我的
  • 隐藏文件输入在提交时不保留值

    我有一个带有假按钮的隐藏文件输入和用于浏览器显示一致性的输入 我目前也可以看到原始输入 并且发现使用它上传文件一切运行正常 然而 使用 dummyfile 中的按钮通过 javascript 触发点击 该值将按预期加载 并且在 UI 中也是
  • 如何在 Linux 上动态插入 Python 中的 C 函数(无需 LD_PRELOAD)?

    我如何在运行时 不LD PRELOAD 拦截 挂钩 C 函数 例如fopen 在 Linux 上 就像 Windows 上的 Detours 一样 我想从 Python 执行此操作 因此 我假设该程序已经在运行 CPython VM 并重新
  • 文件上传 API:多部分/表单数据与正文中的原始内容?

    我注意到 至少 有两种方法可以通过 API 将文件上传到 HTTP 服务器 您可以使用multipart form data 这是浏览器本机对文件上传 HTML 输入所做的操作 但您也可以POST请求正文中的文件内容 可能具有正确的 Con
  • 无效的 int 输入陷入无限循环[重复]

    这个问题在这里已经有答案了 do cout lt lt Enter the numerator and denominator of the first fraction cin gt gt a gt gt b cout lt lt end
  • 通过另一个表对 hasMany 进行 Sequelize

    好的 我有以下三个models Module var Module sequelize define module id DataTypes INTEGER name DataTypes STRING description DataTyp
  • Linux 核心转储太大!

    最近 我注意到应用程序生成的核心转储的大小有所增加 最初 它们的大小约为 5MB 包含大约 5 个堆栈帧 现在我的核心转储超过 2GB 其中包含的信息与较小的转储没有什么不同 有什么方法可以控制生成的核心转储的大小吗 它们不应该至少小于应用
  • 使用 Neo4J 和 Spring Data 按 ID 创建关系

    我定义了一个简单的节点对象 如下所示 Node product public class Product Id private String sku Relationship type SOLD BY private Set