2017-05-14 2 views
1

Dans mon projet, j'utilise Speedment pour ORM. Bien sûr, je veux que mon code soit testé correctement. J'ai donc décidé de créer une copie identique de mon schéma de base de données par défaut que je voulais utiliser pour les tests unitaires. Dans ce cas, le nom du schéma d'origine est "projet" et le nom de la copie est "test_project"Quelle est la méthode correcte dans Speedment pour accéder à un schéma de base de données différent de celui par défaut?

Mon problème est que je ne sais pas comment adresser correctement l'autre schéma de base de données.
Je sais que, lors de l'établissement d'une connexion, je peux utiliser la méthode withSchema("test_project") pour dire quelle vitesse utiliser le schéma. Cela fonctionne très bien tant que je n'ai pas d'identifiants de colonnes dans ma requête.

ceci marche:

List <User> users = userManager.stream().collect(Collectors.toList());

alors que cela ne:

List <User> users = userManager.stream().filter(User.UID.equal(id)).collect(Collectors.toList()); 

Il me dit ceci: Unknown column 'project.User.uid' in 'where clause

Je ne comprends pas vraiment ce qui se passe là-bas . (Note: je suis assez nouveau pour Speedment).
Ma question est: Comment puis-je accéder à mon autre schéma avec toutes ses lignes correctement adressées?

Répondre

0

C'était a bug in Speedment. Changer le schéma withSchema("test_project") est le bon moyen. Cela sera corrigé dans Speedment version 3.0.23.