gpt4 book ai didi

java - Hibernate 为 OrderColumn 值插入 null

转载 作者:行者123 更新时间:2023-12-02 11:31:50 25 4
gpt4 key购买 nike

我在我的实体之一中定义了以下集合:

@ElementCollection(targetClass = Role.class)
@CollectionTable(name = "user_roles", joinColumns = { @JoinColumn(name = "user_id") })
@Column(name = "role_name", nullable = false)
@Enumerated(EnumType.STRING)
@OrderColumn(name = "pos")
public Set<Role> roles;

但是当我尝试保存实体时,Hibernate 尝试将“null”插入“pos”列,但失败了,因为它具有非空约束。 (编辑:如果我删除非空约束,它会在每一行中插入空值。)

为什么 Hibernate 不填充顺序列?

最佳答案

您在非有序集合的 Set 上使用了 OrderColumn。我怀疑这可能是问题所在。

您可以将其从 Set 更改为 List 并尝试。

关于java - Hibernate 为 OrderColumn 值插入 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49241137/

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