ассоциация activejdbc между двумя моделями

У меня есть база данных со следующими двумя таблицами.

Таблица 1

CREATE TABLE players ( id INT AUTO_INCREMENT, firstName VARCHAR(255), lastName VARCHAR(255), birthDate DATE, position VARCHAR(255), id_teams INT, PRIMARY KEY (id), FOREIGN KEY (id_teams) REFERENCES teams(id) );

Таблица 2

CREATE TABLE teams ( id INT AUTO_INCREMENT, name VARCHAR(255) NOT NULL UNIQUE, PRIMARY KEY (id) );

У меня также есть модели Team и Player, расширяющие модель в моем проекте Java. Я могу добавлять команды и игроков в базу данных, но я не понимаю, как добавить игрока в команду, не вставляя внешний ключ вручную.

Я пробовал что-то вроде:

teams.get(0).addPlayer("Thomas", "Miller", new Date(2020, 0, 7), "Forward");

но это дает мне ошибку

No association from model 'class sportstats.domain.Team' to model 'class sportstats.domain.Player'.

Любые советы, как я могу думать об этом?


person Teh Swish    schedule 08.02.2020    source источник


Ответы (1)


См. документацию ActiveJDBC здесь: https://javalite.io/one_to_many_associations

Столбец players.id_teams надо назвать players.team_id, тогда все заработает.

person ipolevoy    schedule 08.02.2020
comment
Знаете ответ на такой вопрос: если у меня есть таблица Matches с колонками homeTeam_id иawayTeam_id, и я хочу добавить на матч 2 команды. Как я могу это сделать? Просто используя, например. Teams.findById(1).add(новая команда(Реал Мадрид)); не работает, так как нет ассоциации. Итак, как я могу добавить команду хозяев и команду гостей? - person Teh Swish; 11.02.2020
comment
@TehSwish, этот комментарий не имеет отношения к вопросу. Пожалуйста, отправьте новый вопрос и предоставьте всю необходимую информацию, включая DDL ваших таблиц; - person ipolevoy; 12.02.2020