У меня есть 3 таблицы:Многие-ко-многим дополнительным полем в activejdbc
person (person_id, person_name),
game (game_id, game_name)
и связанную таблицу
play(person_id, game_id, score).
С ActiveJdbc я использую many2many аннотацию и она отлично работает, чтобы получить все игры для 1 человек
List<Game> games = person.get(Game.class, "person_id = ?", personId);
Мой вопрос в том, как получить значение «оценка»? Я пробовал game.getScore()
, но он, очевидно, не работал
Редактировать: Мне нужен полный список игр от 1 человека. Вот результат я хочу
game1 | 21
game2 | 33
game3 | 44
В SQL в должно быть что-то вроде:
select game.name, play.score
from game join play on (game.game_id = play.game_id)
join person on (game.person_id = person.person_id)
where person_id = 1;
ОК, спасибо за редактирование моего сообщения. Для вашего ответа я действительно не понимаю. Я хочу отобразить список пьес + оценка для 1 данного человека. Я редактировал свой пост. Но из вашего ответа я должен получить оценку от «игры», но в моей модели («Игра») у меня нет метода «getScore», который приводит меня к: «Счету свойства» не найдено по типу com .myapp.models.Game. когда я использую его на странице jsp – Rony
У меня была опечатка в моем коде, просто исправлена. Поскольку у вас есть счет в Play, вы можете получить его от этого объекта. – ipolevoy
ах ок! Понял! Работает сейчас, я использовал включение, как вы сказали :) Большое спасибо! – Rony