【问题标题】:What is the correct way in Speedment to access a database schema that's different from the default one?Speedment 中访问与默认模式不同的数据库模式的正确方法是什么?
【发布时间】:2017-10-13 01:12:24
【问题描述】:

在我的项目中,我使用 Speedment for 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 很陌生)。
我的问题是:如何访问我的其他模式,其所有行都正确寻址?

【问题讨论】:

    标签: mysql speedment


    【解决方案1】:

    这是a bug in Speedment。更改架构withSchema("test_project") 是正确的方法。这将在 Speedment 版本 3.0.23 中修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-19
      • 1970-01-01
      • 2021-10-08
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      • 2018-10-26
      • 2016-12-16
      相关资源
      最近更新 更多