我们正在使用hibernate,postgres 8.3x
我们的实体是多对一映射的,具有热切的提取功能。 我们有多对一的映射。
当我们向任何其他现有实体添加新列时, 我们收到以下错误:
目标列表最多可包含1664个条目
我搜索了互联网,他们说这是由于 sql查询中更多的select语句(由hibernate生成)
如果有任何配置,请告诉我们(在postgres中) 更新配置或任何其他解决方案中的最大数量列以解决此问题。
提前谢谢。
答案 0 :(得分:1)
您的模型/映射/查询肯定存在错误。解决这个问题的正确方法是处理你的模型/映射/查询,而不是PostgreSQL中的最大列数(我甚至得不到你如何达到它,一个检索1664+列的查询不会义)。
答案 1 :(得分:1)
尝试
<property name="hibernate.max_fetch_depth" value="25"/>
答案 2 :(得分:0)
这是PostgreSQL中的最大列数,这是正确的。但为什么你需要更多的列?只是做一些规范化,你的问题就消失了。或者根本不使用关系数据库,当你不规范化时,你总是会达到最大列数。
答案 3 :(得分:0)
有时在项目中有太多@ManyToOne(fetch = FetchType.EAGER)时会发生这种情况。 所以,当没有必要使用FetchType.EAGER时,请输入@ManyToOne(fetch = FetchType.LAZY)
这对我有帮助,试试!