Как правильно использовать Speedment для доступа к схеме базы данных, отличной от схемы по умолчанию?
В моем проекте я использую Speedment для ORM. Конечно, я хочу, чтобы мой код был правильно протестирован. Поэтому я решил создать идентичную копию моей схемы базы данных по умолчанию, которую я хотел использовать для модульного тестирования. В этом случае имя исходной схемы - "проект", а имя копии - "test_project".
Моя проблема в том, что я не знаю, как правильно обращаться к другой схеме базы данных.
Я знаю, что после установления соединения я могу использовать метод withSchema("test_project")
сообщить скорости, какую схему использовать. Это работает очень хорошо, пока у меня нет идентификаторов столбцов в моем запросе.
Так что это работает:
List <User> users = userManager.stream().collect(Collectors.toList());
тогда как это не так:
List <User> users = userManager.stream().filter(User.UID.equal(id)).collect(Collectors.toList());
Это говорит мне это: Unknown column 'project.User.uid' in 'where clause
Я не очень понимаю, что там происходит. (Примечание: я совсем новичок в Speedment).
У меня вопрос: как я могу получить доступ к моей другой схеме со всеми ее строками, правильно адресованными ей?
1 ответ
Это была ошибка в Speedment. Изменение схемы withSchema("test_project")
это правильный путь. Это будет исправлено в версии 3.0.23 Speedment.