【问题标题】:Automatic save() for Nested Objects in PLAY! JPAPLAY 中嵌套对象的自动 save()! JPA
【发布时间】:2012-04-10 03:56:07
【问题描述】:

我有一个具有以下结构的 Play!Framework 应用程序:

@Entity
public class User extends Model{

    public User(String name, String email) {
        UserConfig userConfig = new UserConfig(this);
        userConfig.save();
    }
}

@Entity
public class UserConfig extends Model{

    @ManyToOne
    public User user;

    public UserOptions(User user) {
        this.user = user;
}

我通过 CRUD 的管理页面(Play! 框架的 CRUD 模块)创建了一个 User 实例。

我认为 CRUD 会自动创建 UserConfig 的实例,但事实并非如此。

我应该怎么做才能让 CRUD 保存嵌套实体?

【问题讨论】:

  • @Evgeny 我尝试将 CascadeType.ALL 添加到我的注释中,但它仍然不起作用。当我创建用户实例时 - 此实例已正确保存到数据库中,但与此用户相关的默认 UserConfig 不会出现在数据库中。我完全糊涂了。

标签: java database jpa playframework nested


【解决方案1】:

使用 ManyToMany 或 ManyToOne 注解的 CascadeType 属性。例如。 @ManyToOne(级联 = CascadeType.ALL)。


更多关于 CascadeType 的信息在这里:http://docs.oracle.com/javaee/5/api/javax/persistence/CascadeType.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多