diff --git a/spring-hibernate4/.project b/spring-hibernate4/.project index b68719164667..10df76aa23b9 100644 --- a/spring-hibernate4/.project +++ b/spring-hibernate4/.project @@ -30,6 +30,11 @@ + + org.hibernate.eclipse.console.hibernateBuilder + + + org.springframework.ide.eclipse.core.springnature @@ -39,5 +44,6 @@ org.eclipse.m2e.core.maven2Nature org.eclipse.wst.common.project.facet.core.nature org.eclipse.wst.jsdt.core.jsNature + org.hibernate.eclipse.console.hibernateNature diff --git a/spring-hibernate4/.settings/org.hibernate.eclipse.console.prefs b/spring-hibernate4/.settings/org.hibernate.eclipse.console.prefs new file mode 100644 index 000000000000..7505c63770a0 --- /dev/null +++ b/spring-hibernate4/.settings/org.hibernate.eclipse.console.prefs @@ -0,0 +1,3 @@ +default.configuration= +eclipse.preferences.version=1 +hibernate3.enabled=true diff --git a/spring-hibernate4/src/main/java/org/baeldung/persistence/model/Bar.hbm.xml b/spring-hibernate4/src/main/java/org/baeldung/persistence/model/Bar.hbm.xml new file mode 100644 index 000000000000..bbfbb7332960 --- /dev/null +++ b/spring-hibernate4/src/main/java/org/baeldung/persistence/model/Bar.hbm.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/spring-hibernate4/src/main/java/org/baeldung/persistence/model/Bar.java b/spring-hibernate4/src/main/java/org/baeldung/persistence/model/Bar.java index 0489dbc21a90..cba3173f2fc0 100644 --- a/spring-hibernate4/src/main/java/org/baeldung/persistence/model/Bar.java +++ b/spring-hibernate4/src/main/java/org/baeldung/persistence/model/Bar.java @@ -36,8 +36,8 @@ public Bar(final String name) { public Set getFooSet() { return fooSet; } - - public void setFooList(Set fooSet) { + + public void setFooSet(final Set fooSet) { this.fooSet = fooSet; } @@ -45,7 +45,7 @@ public int getId() { return this.id; } - public void setId(int id) { + public void setId(final int id) { this.id = id; } @@ -53,7 +53,7 @@ public String getName() { return this.name; } - public void setName(String name) { + public void setName(final String name) { this.name = name; } // diff --git a/spring-hibernate4/src/main/java/org/baeldung/persistence/model/Foo.hbm.xml b/spring-hibernate4/src/main/java/org/baeldung/persistence/model/Foo.hbm.xml new file mode 100644 index 000000000000..09922c87832a --- /dev/null +++ b/spring-hibernate4/src/main/java/org/baeldung/persistence/model/Foo.hbm.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/spring-hibernate4/src/main/java/org/baeldung/persistence/model/Foo.java b/spring-hibernate4/src/main/java/org/baeldung/persistence/model/Foo.java index 8e1dee33e845..29e9b332ec8b 100644 --- a/spring-hibernate4/src/main/java/org/baeldung/persistence/model/Foo.java +++ b/spring-hibernate4/src/main/java/org/baeldung/persistence/model/Foo.java @@ -2,46 +2,61 @@ import java.io.Serializable; -import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; + +import org.hibernate.annotations.Fetch; +import org.hibernate.annotations.FetchMode; @Entity public class Foo implements Serializable { + private static final long serialVersionUID = 1L; + + public Foo() { + super(); + + } @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; - - @Column(nullable = false) private String name; + @ManyToOne(targetEntity = Bar.class) + @JoinColumn(name = "BAR_ID") + @Fetch(FetchMode.JOIN) + private Bar bar = new Bar(); - public Foo() { - super(); + public Bar getBar() { + return bar; } - public Foo(final String name) { - super(); + public void setBar(final Bar bar) { + this.bar = bar; + } - this.name = name; + public int getBar_Id() { + return bar_Id; + } + + public void setBar_Id(final int bar_Id) { + this.bar_Id = bar_Id; } - // API + private int bar_Id; public long getId() { return id; } - public void setId(final long id) { this.id = id; } - public String getName() { return name; } - public void setName(final String name) { this.name = name; } diff --git a/spring-hibernate4/src/test/java/hibernate.cfg.xml b/spring-hibernate4/src/test/java/hibernate.cfg.xml new file mode 100644 index 000000000000..915295111ea0 --- /dev/null +++ b/spring-hibernate4/src/test/java/hibernate.cfg.xml @@ -0,0 +1,37 @@ + + + + + + + + +com.mysql.jdbc.Driver +jdbc:mysql://localhost:3306/HIBERTEST2_TEST +root + + + +1 + + +org.hibernate.dialect.MySQLDialect + + +thread + + +org.hibernate.cache.internal.NoCacheProvider + + +true + + + + + + + + diff --git a/spring-hibernate4/src/test/java/org/baeldung/persistence/service/FooSortingServiceTest.java b/spring-hibernate4/src/test/java/org/baeldung/persistence/service/FooSortingServiceTest.java index 1532c3ef3f80..a6dc8bd1b8b5 100644 --- a/spring-hibernate4/src/test/java/org/baeldung/persistence/service/FooSortingServiceTest.java +++ b/spring-hibernate4/src/test/java/org/baeldung/persistence/service/FooSortingServiceTest.java @@ -73,7 +73,6 @@ public final void whenHQlSortingByStringNullLast_thenLastNull() { System.out.println("Name: " + foo.getName() + ", Id: " + foo.getId()); } sess.getTransaction().commit(); - } @Test @@ -88,7 +87,6 @@ public final void whenSortingByStringNullsFirst_thenReturnNullsFirst() { } sess.getTransaction().commit(); - } @Test @@ -100,10 +98,9 @@ public final void whenHQlSortingByOneAttribute_andOrderDirection_thenPrintSorted for (final Foo foo : fooList) { System.out.println("Name: " + foo.getName() + ", Id: " + foo.getId() - ); + ); } sess.getTransaction().commit(); - } @Test @@ -115,10 +112,9 @@ public final void whenHQlSortingByMultipleAttributes_thenSortedResults() { for (final Foo foo : fooList) { System.out.println("Name: " + foo.getName() + ", Id: " + foo.getId() - ); + ); } sess.getTransaction().commit(); - } @Test @@ -131,7 +127,6 @@ public final void whenHQlSortingByMultipleAttributes_andOrderDirection_thenPrint System.out.println("Name: " + foo.getName() + ", Id: " + foo.getId()); } sess.getTransaction().commit(); - } @Test @@ -144,7 +139,6 @@ public final void whenHQLCriteriaSortingByOneAttr_thenPrintSortedResults() { System.out.println("Id: " + foo.getId() + ", FirstName: " + foo.getName()); } sess.getTransaction().commit(); - } @Test @@ -158,7 +152,6 @@ public final void whenHQLCriteriaSortingByMultipAttr_thenSortedResults() { System.out.println("Id: " + foo.getId() + ", FirstName: " + foo.getName()); } sess.getTransaction().commit(); - } @Test @@ -170,10 +163,8 @@ public final void whenCriteriaSortingStringNullsLastAsc_thenNullsLast() { assertNull(fooList.get(fooList.toArray().length - 1).getName()); for (final Foo foo : fooList) { System.out.println("Id: " + foo.getId() + ", FirstName: " + foo.getName()); - } sess.getTransaction().commit(); - } @Test @@ -198,7 +189,7 @@ public final void whenSortingBars_thenBarsWithSortedFoos() { final Query query = sess.createQuery(hql); final List barList = query.list(); for (final Bar bar : barList) { - final Set fooSet = bar.getFooList(); + final Set fooSet = bar.getFooSet(); System.out.println("Bar Id:" + bar.getId()); for (final Foo foo : fooSet) { System.out.println("FooName:" + foo.getName()); diff --git a/spring-jpa/.classpath b/spring-jpa/.classpath index ca257cf1f962..d1d54e092ae5 100644 --- a/spring-jpa/.classpath +++ b/spring-jpa/.classpath @@ -22,11 +22,7 @@ - - - - - + diff --git a/spring-jpa/.project b/spring-jpa/.project index 235ae29ecfc3..5bb2baa2b950 100644 --- a/spring-jpa/.project +++ b/spring-jpa/.project @@ -30,6 +30,11 @@ + + org.hibernate.eclipse.console.hibernateBuilder + + + org.springframework.ide.eclipse.core.springnature @@ -39,5 +44,6 @@ org.eclipse.m2e.core.maven2Nature org.eclipse.wst.common.project.facet.core.nature org.eclipse.wst.jsdt.core.jsNature + org.hibernate.eclipse.console.hibernateNature diff --git a/spring-jpa/.settings/org.hibernate.eclipse.console.prefs b/spring-jpa/.settings/org.hibernate.eclipse.console.prefs new file mode 100644 index 000000000000..7505c63770a0 --- /dev/null +++ b/spring-jpa/.settings/org.hibernate.eclipse.console.prefs @@ -0,0 +1,3 @@ +default.configuration= +eclipse.preferences.version=1 +hibernate3.enabled=true diff --git a/spring-jpa/src/main/java/org/baeldung/persistence/model/Bar.java b/spring-jpa/src/main/java/org/baeldung/persistence/model/Bar.java index 3f76680d3b90..154d52988191 100644 --- a/spring-jpa/src/main/java/org/baeldung/persistence/model/Bar.java +++ b/spring-jpa/src/main/java/org/baeldung/persistence/model/Bar.java @@ -15,6 +15,8 @@ @Entity public class Bar implements Serializable { + private static final long serialVersionUID = 1L; + @Id @GeneratedValue(strategy = GenerationType.AUTO) @@ -23,10 +25,12 @@ public class Bar implements Serializable { @Column(nullable = false) private String name; + @OneToMany(mappedBy = "bar", fetch = FetchType.EAGER, cascade = CascadeType.ALL) @OrderBy("name ASC") List fooList; + public Bar() { super(); } @@ -44,6 +48,7 @@ public long getId() { } public void setId(final long id) { + this.id = id; } diff --git a/spring-jpa/src/main/java/org/baeldung/persistence/model/Foo.java b/spring-jpa/src/main/java/org/baeldung/persistence/model/Foo.java index 8e1dee33e845..585cefb159e4 100644 --- a/spring-jpa/src/main/java/org/baeldung/persistence/model/Foo.java +++ b/spring-jpa/src/main/java/org/baeldung/persistence/model/Foo.java @@ -4,19 +4,17 @@ import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; @Entity public class Foo implements Serializable { - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - private long id; - - @Column(nullable = false) - private String name; + private static final long serialVersionUID = 1L; public Foo() { super(); @@ -28,13 +26,30 @@ public Foo(final String name) { this.name = name; } - // API + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + @Column(name = "ID") + private long id; + @Column(name = "NAME") + private String name; + + @ManyToOne(targetEntity = Bar.class, fetch = FetchType.EAGER) + @JoinColumn(name = "BAR_ID") + private Bar bar; + + public Bar getBar() { + return bar; + } + + public void setBar(final Bar bar) { + this.bar = bar; + } public long getId() { return id; } - public void setId(final long id) { + public void setId(final int id) { this.id = id; } @@ -46,8 +61,6 @@ public void setName(final String name) { this.name = name; } - // - @Override public int hashCode() { final int prime = 31; diff --git a/spring-jpa/src/test/java/META-INF/persistence.xml b/spring-jpa/src/test/java/META-INF/persistence.xml new file mode 100644 index 000000000000..e52849179500 --- /dev/null +++ b/spring-jpa/src/test/java/META-INF/persistence.xml @@ -0,0 +1,16 @@ + + + + org.baeldung.persistence.model.Foo + org.baeldung.persistence.model.Bar + + + + + + + + + + + diff --git a/spring-jpa/src/test/java/org/baeldung/persistence/service/FooServiceSortingTests.java b/spring-jpa/src/test/java/org/baeldung/persistence/service/FooServiceSortingTests.java index 37ed1dc2f0f4..baba4037f140 100644 --- a/spring-jpa/src/test/java/org/baeldung/persistence/service/FooServiceSortingTests.java +++ b/spring-jpa/src/test/java/org/baeldung/persistence/service/FooServiceSortingTests.java @@ -151,4 +151,5 @@ public final void whenSortingFooWithCriteriaAndMultipleAttributes_thenPrintSorte } } + }