我创建了一个具有复合主键的实体。
<entity entity-name="XXX" package-name="org.ofbiz.yyy">
<field name="F1" type="id-ne"></field>
<field name="F2" type="id-ne"></field>
<field name="F3" type="id-ne"></field>
<prim-key field="F1"/>
<prim-key field="F2"/>
</entity>
这里的F2就像序列号。 F2可以在F2变化时具有相同的值。
Ex: F1 F2 F3
abc 1 some text
abc 2 some text
当我宣布它们为主键时,它应该允许我插入如上所述的条目。但是我得到了主键F1和#39;的重复输入。插入第二个条目时出错。
我在这里和那里搜索了解定义复合主键的替代方法,但我没有找到任何方法。
我已将主键从单键更新为复合键。 请帮我解决这个问题。提前致谢。
答案 0 :(得分:0)
我找到了解决问题的方法。
实际问题是,最初我创建了具有单个主键的表。后来我用复合主键更新了表。
我认为mysql不会更新元信息(或者它存储的关于表的任何内容)。因此,它考虑使用单个主键的表,并抛出重复的主键错误条目。
我已放弃该表并再次创建。现在,它允许我插入如上例所示的值。
我认为在ofbiz entitymodel.xml中,如果我们更新主键组合,我们必须清除表格信息。
谢谢,