代码之家  ›  专栏  ›  技术社区  ›  Niko

iBATIS在创造价值之前检查是否存在

  •  0
  • Niko  · 技术社区  · 16 年前

    我有一个属性定义表和第二个包含实际属性值的表:

    table propdef: id, name, description 
    table props: id, propdefid, userid, value
    

    这样我就可以动态地为我的用户创建属性。当我想更新用户的属性时,我必须检查props表是否存在propdefid/userid行,然后使用update或create。

    现在我首先查询DB,然后决定在Java代码中做什么。有没有办法在iBATS SqMMAP中做到这一点——在我的Java代码中没有额外的逻辑?

    我使用MySQL作为数据库。

    1 回复  |  直到 16 年前
        1
  •  1
  •   longneck    16 年前

    在你走得更远之前,你需要停下来阅读这篇文章: http://tonyandrews.blogspot.com/2004/10/otlt-and-eav-two-big-design-mistakes.html

    如果你仍然认为EAV是前进的道路,那还是有希望的。我不能建议在iBATS/Java级别,但我可以告诉你看看插入…在重复的密钥更新时。这就把你的两个陈述变成了一个。

    推荐文章