Auteurs : Florian GIGOT & Quentin LEVIEUX
Réalisation d'une application permettant à un chef de port de gérer son port de de plaisance.
Via cette application, un responsable de port peut gérer facilement ses quais, ses emplacements de bateau, ses bateaux et les propriétaires de bateau.
Temps pour développer le projet : 1 semaine
Langage : JAVA (avec librairies JDBC et Hibernate)
Interface : SWING
Base de données : mySQL
Les étapes à réaliser pour que cela fonctionne, à faire la premiere fois :
- Veuillez créer une BDD se nommant "port"
- Ajouter le pilote au projet (mysql-connector-java-8.0.18.jar) et les librairies Hibernate
- Retirer les balises de commentaire à la ligne 16 du fichier persistence.xml
- Exécuter le main de la classe MainBDD, qui ajoutera des éléments dans la BDD
- Remettre en commentaire la ligne 16 du fichier persistence.xml
- Executer le main de la classe Main, qui lance l'application
- X représente le nom d’une classe dans le modèle
- XControleur représente la classe qui fera l’interaction entre le modèle et la vue
- XDAO représente la classe qui gérera les requêtes vers la BDD
- XPatron représente la classe qui gérera les JTables de la vue
- XView représente la classe qui définira la vue
Les choix des annotations hibernate ont été choisi de façon à correspondre au plus proche à la base de donnée que nous souhaitions réaliser.
Pour ce qui est de l’héritage nous sommes parti sur une stratégie SINGLE_TABLE, afin de n’avoir qu’une seule table Bateau dans notre base de donnée. Certes il y aura des valeurs à NULL pour certain champs, mais cette stratégie nous permet d’éviter des jointures inutiles entre plusieurs tables. De plus, vu le peu d’attributs des classes filles cela s’y prête bien, dans un autre contexte nous aurions peut être utiliser une stratégie différente.
Au niveau des relations @OneToOne, @OneToMany, @ManyToOne nous avons utilisé les attributs FetchType.LAZY et orphanRemoval=true. Respectivement leur rôle sont : de ne pas charger immédiatement les données liées à l’entité, dans le but de gagner en performance. Et de détecter les entités dites orphelines pour les effacer de la base de donnée.
L’application permet la gestion des quais d’un port de plaisance. Cette gestion passe par la gestion des propriétaires de bateau, des bateaux, des emplacements des bateaux et des quais du port.
Pour utiliser les boutons Modifier et Supprimer veuillez cliquer sur un item avant de cliquer sur le bouton.
- Dans cette onglet, le manager du port peut choisir quel quai il veut gérer et à action à un large panel d’action tel que l’accès aux pages Gestion des quais, Gestion des propriétaires, Gestion des emplacements et Recherche sur voilier.
- Le manager peut également ajouter, supprimer et/ou modifier un bateau via cette page. Un bateau est associé à un unique propriétaire et à un unique emplacement. Un bateau ne peut pas changer d’emplacement directement depuis le bouton modifier, pour effectuer cette opération supprimer le bateau et recréer le.
- Des informations pratiques telles que le nombre d’emplacement occupé par des bateaux, le nombre de voilier et le de bateau à moteur sur le quai sélectionné sont disponibles.
- La liste des bateaux du quai sélectionné est disponible pour une meilleure visualisation des données.