我想在我的表格中存储String []标签" Store"。商店实体可以有多个标签,我也没有看到任何创建任何映射的理由" store_tags
"表。
所有相关标签应存储在" Store"表。从我在互联网上搜索的内容看来,JPA / Hibernate @ElementCollection
注释就可以做到这一点,但它需要集合映射表。
是否可以通过hibernate在postgresql表中以String[]
存储和检索数据,而无需创建任何此类映射表?
此外,如果那不可能,将String列表连接成一个字符串并将其存储在表中,是可接受的设计吗?或者会有什么不好的后果吗?请举几个例子/点,这些选项可能会在将来引起问题。
我正在使用Java Play Framework,Hibernate和PostgreSQL。
答案 0 :(得分:0)
如果您真的想避免为store_tag关系使用单独的表,那么您可以考虑使用PostgreSL hstore
支持。但是,您需要使用带有hibernate的UserType实现(不是核心hibernate的一部分)。因此,使用hibernate处理可能会给痛苦带来不便。只是存储和检索标签可能没问题。使用带有其他方面的标签可能是使用单独表格的有力论据。
与往常一样,我会分析常见的查询和修改用例。并明确衡量两种变体的效果。