У меня есть таблица определения свойства и вторая, которая содержит фактические значения свойств:
table propdef: id, name, description
table props: id, propdefid, userid, value
Таким образом, я могу динамически создавать свойства для своих пользователей. Когда я хочу обновить свойство для пользователя, я должен проверить таблицу реквизитов, если существует строка propdefid/userid, а затем либо использовать обновление, либо создать на нем.
В настоящий момент я сначала запрашиваю db, а затем решу, что делать в моем java-коде. Есть ли способ сделать это в ibatis sqlmap - без дополнительной логики в моем java-коде?
Я использую mysql как db.
прежде чем идти дальше, вам нужно остановиться и прочитать эту статью: http://tonyandrews.blogspot.com/2004/10/otlt-and-eav-two-big-design-mistakes.html
если вы все еще решите, что EAV - это путь, есть еще надежда. я не могу посоветовать на уровне ibatis/java, но я могу сказать вам посмотреть INSERT... ON DUPLICATE KEY UPDATE. это изменит ваши два утверждения на один.