首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在嵌套关系实体中传递的空值- Spring

在嵌套关系实体中传递的空值- Spring
EN

Stack Overflow用户
提问于 2017-12-13 13:46:57
回答 2查看 1.4K关注 0票数 1

我试图保存用户对象和地址。在User类中,我定义了与Address的关系。在Address中,我定义了User

当创建对象并试图将其保存到数据库时,获得以下错误:

SqlExceptionHelper : ERROR: user_id列中的null值违反了null约束

代码语言:javascript
运行
复制
@Entity
class Address {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    private String address;

    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "user_id")
    private User user;

    //getter setter
}

用户类;

代码语言:javascript
运行
复制
class User implements UserDetails {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    @OneToMany(cascade = CascadeType.ALL)
    private List<Address> address;

    //Other fields, getters, & setters
}

UserService类;

代码语言:javascript
运行
复制
class UserService {

    public long createUser(User user) {

        User u = new User();
        Address address = new Address();
        address.setAddress("Windsong Palace");
        address.setZipCode("239749");

        List<Address> adds = new ArrayList<>();
        adds.add(address);

        u.setAddress(adds);
        //userRepository is the interface extends from JpaRepository<User, Long>
        userRepository.save(u);
    }
}

如何将创建后的user_id传递给Address类?

EN

回答 2

Stack Overflow用户

发布于 2017-12-13 15:14:54

此错误指示您的address对象没有对用户对象的引用。

如果查看代码,则不会为address字段设置用户。试试这个:

代码语言:javascript
运行
复制
...
address.setAddress("Windsong Palace");
address.setZipCode("239749");
address.setUser(u);
...
票数 2
EN

Stack Overflow用户

发布于 2017-12-14 06:35:09

我解决了这个问题。是因为清算。我在申请的时候用的是液基。在液化库xml文件中,我创建了表UserAddress。在application.propertiesspring.jpa.hibernate.ddl-auto=none.

但是在创建用户和地址的时候。存储库的save无法在Address中插入user_id,而是插入null

转动liquibase.enabled=false (移除液碱)解决了这个问题。

我认为这不是一个更好的解决办法。但是,它的工作没有液基。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47794542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档