我的一个实体中定义了以下集合:
@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"列,但失败了,因为它具有非null约束。(编辑:如果我删除非空约束,它会在每一行中插入空。
为什么休眠不填充订单列?
> 您已在不是有序集合的集合上使用OrderColumn
。我怀疑这可能是问题所在。
您可以从"设置并尝试"将其更改为"列表"。