Script de démarrage pour créer un schéma de HSQLDB
Je suis d'essayer d'utiliser une base de données en mémoire à un simulacre d'une base de données teradata. J'ai besoin de créer un schéma avant que les tables sont construites, cependant, c'est de me donner des ajustements.
Je suis à l'aide de Printemps et d'avoir beaucoup de base de données interaction avec import.sql
, cependant, cela exécute après Hibernate a créé toutes les tables. J'ai tenté d'utiliser le .script
fichier HSQLDB est censé lire, mais je pense que lorsque vous utilisez une base de données en mémoire qui ne fonctionne pas. J'ai déplacé les fichiers un peu partout et rien ne semble l'atteindre.
Quelqu'un a trouvé comment créer un schéma de démarrage pour une mémoire de base de données HSQLDB?
OriginalL'auteur markthegrea | 2011-11-01
Vous devez vous connecter pour publier un commentaire.
Si vous exécutez votre script de cette façon...
...ensuite, il est exécuté avant Hibernate ne son initialisation des trucs.
Je l'ai testé à nouveau, surtout pour vous. Il est exécuté avant Hibernate crée les tables. Voir ce journal (exécutant le script est dans les 3 premières lignes, mise en veille prolongée dans les derniers):
Étrange, quand je l'ai essayer, se fait avant d'hibernate est de créer les tables. Pour le prouver, j'ai joint les journaux. Si votre problème doit être autre chose. -- Réponse correcte.
Ralph, j'ai tout compris. Je met le code que tu m'a donné APRÈS que la source de données a été créé. M'a fallu un certain temps pour que le Printemps de journalisation, mais l'emplacement définitivement fait une différence. Si vous mettez de l'AVANT de la source de données xml, il fonctionne comme annoncé. Je ne savais pas qu'une différence de Printemps. Aussi, le Printemps semble par défaut à "jdbc:hsqldb:mem:testdb", plus précisément, "testdb". J'ai été nommage mine différemment et le Printemps était démarrage "testdb" dans la mémoire. Quand j'ai changé la mienne pour "testdb", bingo, tout a bien fonctionné. Merci!
Une astuce de plus. Un <context:component-scan de la base-package="blah.bla" /> doit passer APRÈS le <jdbc:intégré-base de données/> tag aussi. Le composant d'analyse des feux beaucoup de choses, et si c'est avant, le script sera exécuté à la fin. Assurez-vous que votre base de données est démarrée première chose...
OriginalL'auteur Ralph
Vous pouvez utiliser un fichier de base de données avec toutes les données en mémoire et sans aucune modification de votre test. Cela devrait servir vos fins.
D'abord créer le schéma de base de données avec l'URL
jdbc:hsqldb:file:initdata
et effectuerSHUTDOWN
. Puis ajouterfiles_readonly=true
à lainitdata.properties
fichier ou sinon, utilisez l'URL ci-dessous:Lors de vos tests à exécuter à l'encontre de cette base de données, rien n'est écrit pour les fichiers de base de données et toutes les données sont en mémoire.
OriginalL'auteur fredt