我想将String[]标签存储在我的表" store“中。一个商店实体可以有多个标记,我看不出有任何理由创建任何映射"store_tags
“表。
所有相关标签都应存储在"Store“表中。根据我在互联网上的搜索,似乎JPA/Hibernate @ElementCollection
注解做到了这一点,但它需要集合映射表。
是否可以通过hibernate在PostgreSQL表中以String[]
的形式存储和检索数据,而无需创建任何这样的映射表?
另外,如果这是不可能的,将字符串列表连接成一个字符串,并将其存储在表中,这是可接受的设计吗?或者它会有什么不好的后果?请举几个这些选项在未来可能会导致问题的例子/要点。
我使用的是Java Play Framework、Hibernate和PostgreSQL。
发布于 2016-04-17 21:48:49
如果您确实希望避免对store_tag关系使用单独的表,那么您可以考虑使用PostgreSL来支持hstore
。但是,您需要将UserType实现与hibernate一起使用(不是核心hibernate的一部分)。因此,使用hibernate进行处理可能不太方便,也很痛苦。只需存储和检索标签就可以了。将标签与其他方面一起使用可能是使用单独的表的一个强有力的论据。
像往常一样,我将分析常见的查询和修改用例。并明确测量这两种变体的性能影响。
https://stackoverflow.com/questions/30701234
复制相似问题