-
Création Base de Donnée
Bonjour,
Je développe (à titre personnel) un programme de calcul d'un invariant en théorie des nœuds (branche des mathématiques) et suis loin d'être expert en java.
J'ai créé une interface graphique permettant de créer des nœuds puis me suis intéressé à jpa/annotations/query/... dans le but de pouvoir faire une petite base de données (très simple : un seul type d'objet à enregistrer avec qq champs (nom, nbre de croisements,...)).
Au final j'en ai créé une avec derby dans netbeans cela dit je n'obtiens pas ce que je voulais : la base de donnée est un dossier contenant plusieurs sous-dossiers et fichiers, j'ai cherché longtemps sur le net comment faire mais n'ai rien trouvé et commence à en avoir un peu marre...
Ce que je voudrais au final c'est avoir le .jar et un unique fichier style knot.db de sorte que n'importe qui puisse utiliser ce programme si je lui envoie ces deux fichiers.
J'ai pensé à la sérialisation mais cela ne me semble pas très adapté à la modification/suppression d'objets dans le fichier ; sinon il me reste la méthode 'brute' où je gère moi-même l'enregistrement/recherche/modification/... mais je me dis qu'il doit exister plus simple ?
D'autant que j'aimerais si possible utiliser des outils standards et portables...
Si qqn pouvait m'aider je lui en serais reconnaissant...
Merci
-
Dis nous, ton soucis est sur le nombre de fichiers que génère la base ou plus sur le déploiement?
Tu peux utiliser des bases portables du style HSQLDB ou H2 qui sont drivable via JPA, et enregistrent leurs résultats dans des fichiers, que tu embarque totalement dans ton livrable (war/ear ou autre) puisqu'ils sont de simples JAR.
Tes fichiers peuvent être déployés dans ton livrable au lancement, sur le cloud via du get etc.
Généralement on laisse l'installateur choisir sa BDD, et on produit un script ddl permettant de créer et populer la base de données de son choix.
Espérant t'avoir aidé =)
-
Merci Delwyn,
Bon, tout ne marche pas comme prévu...
Tout marche bien dans netbeans, par contre quand je copie le .jar de mon programme ailleurs il faut que je copie aussi le dossier lib (contenant hsqldb.jar) pour que le programme fonctionne ; de plus dans ce cas il crée un fichier .properties, un .lck et un .log...
Idéalement je voudrais que quand je lance mon jar il crée un unique fichier DB à côté (s'il n'existe pas déjà).