gpt4 book ai didi

postgresql - 将 ElementCollection 与 jpa 一起使用时需要什么列类型?

转载 作者:行者123 更新时间:2023-11-29 13:02:09 26 4
gpt4 key购买 nike

我有一个简单的类,其中有一列在技术上是一个列表

@Entity
@Table(name='hat')
class Hat {
@Id
String id = UUID.randomUUID()

@ElementCollection
List<String> wat
}

现在,当我使用 varchar(500) 或 character varying(500) 时,将此实体从数据库中拉出的 PSQL 代码会爆炸

org.postgresql.util.PSQLException: ERROR: relation "hat_wat" does not exist

最佳答案

元素集合不存储在单个列中。它存储在一个单独的表中,就像您有一个 OneToMany 一样,除了多边没有标识符。假设 Hat foo 有 2 个 wats“bar”和“baz”:

hat table:             hat_wat table:

id hat_id wat
----- ---------------
foo foo bar
foo baz

这允许查询帽子以查找,例如,所有在其 wats 列表中具有“bar”的帽子。尝试在单个列中存储多个字符串确实不是一个好主意。它违反了第一范式规则。

关于postgresql - 将 ElementCollection 与 jpa 一起使用时需要什么列类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26512916/

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