diff --git a/README.md b/README.md index ce1b8f9c8300ab0d2563df3a8f86eea042aaf7e4..3fd9236a7480be53fe2b4850f1e1fc723dd5e203 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,13 @@ -# hibernate example +# Hibernate example +This code creates a simple one-to-many relationship between two tables and +populates them. + +## Usage + +Copy `src/main/resources/hibernate.cfg.xml-TEMPLATE` to +`src/main/resources/hibernate.cfg.xml` and replace *both* occurrences of +`USERNAME` with your CSE username, and replace `MYSQL_PASSWORD` with your +MySQL password. + +The `main` method is in `edu.unl.cse.csce361.hibernate.FruitPopulator`. \ No newline at end of file diff --git a/src/main/java/edu/unl/cse/csce361/hibernate/Fruit.java b/src/main/java/edu/unl/cse/csce361/hibernate/Fruit.java index 0fe545a963e0d1802b9f75fdc222df8081ae0f5c..e14e509108bfdb42d91e043fad0565c9f07e0999 100644 --- a/src/main/java/edu/unl/cse/csce361/hibernate/Fruit.java +++ b/src/main/java/edu/unl/cse/csce361/hibernate/Fruit.java @@ -19,7 +19,7 @@ public class Fruit { private Integer massInGrams; @ManyToOne - @JoinColumn(name = "fruitSalad") + @JoinColumn private FruitSalad salad; public Fruit() { // 0-argument constructor diff --git a/src/main/java/edu/unl/cse/csce361/hibernate/FruitPopulator.java b/src/main/java/edu/unl/cse/csce361/hibernate/FruitPopulator.java index dfb003d7c03013d57f62e1a13deeebf3d85b62ef..de027cfa3cb196471414e2a7b1ced08bdbb79cf5 100644 --- a/src/main/java/edu/unl/cse/csce361/hibernate/FruitPopulator.java +++ b/src/main/java/edu/unl/cse/csce361/hibernate/FruitPopulator.java @@ -48,9 +48,11 @@ public class FruitPopulator { fruitSalad.addFruit(apple); fruitSalad.addFruit(banana); session.getTransaction().commit(); + System.out.println(); System.out.println("Successfully populated tables."); } catch (RuntimeException exception) { session.getTransaction().rollback(); + System.out.println(); System.out.println("Failed to populate tables. " + exception); } } diff --git a/src/main/resources/hibernate.cfg.xml-TEMPLATE b/src/main/resources/hibernate.cfg.xml-TEMPLATE index 69ab20efc3b81174d9298a5ac134664c6b3d0dda..1b20872f73b068837b88d6314963b591b4846223 100644 --- a/src/main/resources/hibernate.cfg.xml-TEMPLATE +++ b/src/main/resources/hibernate.cfg.xml-TEMPLATE @@ -11,7 +11,7 @@ com.mysql.jdbc.Driver </property> <property name="connection.url"> - jdbc:mysql://cse.unl.edu/USERNAME + jdbc:mysql://cse.unl.edu/USERNAME?serverTimezone=America/Chicago </property> <property name="connection.username"> USERNAME @@ -32,6 +32,7 @@ <!-- Names the annotated entity class --> <mapping class="edu.unl.cse.csce361.hibernate.Fruit"/> + <mapping class="edu.unl.cse.csce361.hibernate.FruitSalad"/> </session-factory> </hibernate-configuration>