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
}
}
+
}