gpt4 book ai didi

java - 关系数据未存储在 Ebean 中

转载 作者:太空宇宙 更新时间:2023-11-04 14:25:25 25 4
gpt4 key购买 nike

背景

我正在使用Play Framework (Java) 存储数据。 Play框架使用 Ebean将类转换为可以存储在数据库中的数据。

我在创建 One To Many 时遇到问题数据库关系。我正在尝试在 User 之间创建关系型号和 UserEmail模型。凡每User可能有很多UserEmails .

User Model Code
User Email Model Code

问题

当我创建User时然后添加UserEmail ,它并不能保存 UserEmail在数据库中。我尝试过很多方法。

  • 通过添加到 List<UserEmail> emails然后保存User ( Code )
    • 结果:User存储在数据库中的信息正确,但没有新的 UserEmail存储在数据库中
  • 通过创建 static create UserEmail中的方法(Code)
    • 结果:UserEmail已存储在数据库中
  • 通过添加到 List<UserEmail> emails然后保存UserEmailUser (Code)
    • 结果:User存储在数据库中的信息正确,但没有新的 UserEmail存储在数据库中

问题

Play Framework (Java),如何创建和存储关系数据?我缺少某些步骤吗?我还需要添加另一个Annotationmodels让它发挥作用?

更新

经过一些进一步的测试,看起来像是保存 User具有新对象 UserEmail会将其保存到数据库中。但是当我获取用户时

User retrievedTestUser = User.find.where().eq("userId", testUserId).findUnique();

它不会检索 UserEmails

最佳答案

添加有关反向字段的信息:

@OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
public List<UserEmail> emails;

Details in documentation

关于java - 关系数据未存储在 Ebean 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26723781/

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