在我的项目中,我正在使用Speedment进行ORM。当然,我希望我的代码经过适当的测试。所以我决定创建一个我想要用于单元测试的默认数据库模式的相同副本。在这种情况下,原始模式的名称是“project”,副本的名称是“test_project”
我的问题是我不知道如何正确处理其他数据库架构
我知道,在建立连接后,我可以使用方法withSchema("test_project")
告诉speedment使用哪个模式。
只要我的查询中没有任何列标识符,这就可以正常工作。
这样可行:
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很新。) 我的问题是:如何访问我的其他模式,并将其所有行正确地发送给它?