Content
Beschreibung
- Es handelt sich um eine simple Highscore Datenbank, der Datenbankzugriff erfolgt über Hibernate.
- Die Datenbankrelationen befinden sich unter:
- src/main/java/at/htldornbirn/swp3/hibernate/pojo
- Der Zugriff auf die Datenbank erfolgt über die Klasse
- src/main/java/at/htldornbirn/swp3/hibernate/database/Database.java
- Am Ende der Anwendung muss close() beim Datenbank Object aufgerufen werden
- Verschiedenste Anwendungstestfälle finden sich in den tests
- src/test/java/at/htldornbirn/swp3/hibernate/database/*
ER Diagramm
Voraussetzungen
MySQL server wird benötigt (>=5.7)
- Wenn MySQL 8 verwendet wird, so muss der Mysql 8 Dialect verwendet werden.
- Dieser kann in der hibernate.cfg.xml umgestellt werden
- <property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>
User und Datenbank erstellen:
CREATE USER 'test'@'localhost' IDENTIFIED BY 'Passw0rd!';
/*Database for production*/
CREATE DATABASE productiondb;
/*Database for test*/
CREATE DATABASE testdb;
GRANT ALL PRIVILEGES ON testdb.* TO 'test'@'localhost';
GRANT ALL PRIVILEGES ON productiondb.* TO 'test'@'localhost';
Andere Datenbank als MySQL
Es kann auch eine andere Datenbank als MySQL verwendet werden:
- Hibernate Mapping Dateien sind anzupassen
- jdbc connector muss in build.gradle bei dependencies { ... } hinzugefügt werden
-
i.e.:
- compile 'org.postgresql:postgresql:42.2.10'
- compile 'oracle:oracle-jdbc:12.1.0.2'
-
i.e.:
- Datenbanken und User müssen erstellt werden
Einstellungen für Hibernate sind hier zu finden:
- Main
- src/main/java/resources/mysql.hibernate.cfg.xml
- Test (für die JUnit tests)
- src/test/java/resources/mysql.hibernate.cfg.xml
Ressourcen
- https://docs.jboss.org/hibernate/orm/5.4/quickstart/html_single/
- https://www.baeldung.com/tag/hibernate/
Projekt Checkout
- git clone gitolite3@drlue.at:swp_hibernate --recurse-submodules
- oder zip im Anhang entpacken
Projekt öffnen mit IntelliJ