diff --git a/core-java/src/main/java/com/baeldung/array/ArrayInitializer.java b/core-java/src/main/java/com/baeldung/array/ArrayInitializer.java
index 7759e282e6..474cbe42a9 100644
--- a/core-java/src/main/java/com/baeldung/array/ArrayInitializer.java
+++ b/core-java/src/main/java/com/baeldung/array/ArrayInitializer.java
@@ -6,71 +6,68 @@ import org.apache.commons.lang.ArrayUtils;
public class ArrayInitializer {
- public static int[] initializeArrayInLoop() {
+ static int[] initializeArrayInLoop() {
int array[] = new int[5];
- for (int i = 0; i < array.length; i++)
+ for (int i = 0; i < array.length; i++) {
array[i] = i + 2;
+ }
return array;
}
- public static int[][] initializeMultiDimensionalArrayInLoop() {
+ static int[][] initializeMultiDimensionalArrayInLoop() {
int array[][] = new int[2][5];
- for (int i = 0; i < 2; i++)
- for (int j = 0; j < 5; j++)
+ for (int i = 0; i < 2; i++) {
+ for (int j = 0; j < 5; j++) {
array[i][j] = j + 1;
+ }
+ }
+
return array;
}
- public static String[] initializeArrayAtTimeOfDeclarationMethod1() {
- String array[] = new String[] { "Toyota", "Mercedes", "BMW", "Volkswagen", "Skoda" };
+ static String[] initializeArrayAtTimeOfDeclarationMethod1() {
+ String array[] = new String[]{"Toyota", "Mercedes", "BMW", "Volkswagen", "Skoda"};
return array;
}
- public static int[] initializeArrayAtTimeOfDeclarationMethod2() {
- int[] array = new int[] { 1, 2, 3, 4, 5 };
+ static int[] initializeArrayAtTimeOfDeclarationMethod2() {
+ int[] array = new int[]{1, 2, 3, 4, 5};
return array;
}
- public static int[] initializeArrayAtTimeOfDeclarationMethod3() {
- int array[] = { 1, 2, 3, 4, 5 };
+ static int[] initializeArrayAtTimeOfDeclarationMethod3() {
+ int array[] = {1, 2, 3, 4, 5};
return array;
}
- public static long[] initializeArrayUsingArraysFill() {
+ static long[] initializeArrayUsingArraysFill() {
long array[] = new long[5];
Arrays.fill(array, 30);
return array;
}
- public static int[] initializeArrayRangeUsingArraysFill() {
+ static int[] initializeArrayRangeUsingArraysFill() {
int array[] = new int[5];
Arrays.fill(array, 0, 3, -50);
return array;
}
- public static int[] initializeArrayUsingArraysCopy() {
- int array[] = { 1, 2, 3, 4, 5 };
+ static int[] initializeArrayUsingArraysCopy() {
+ int array[] = {1, 2, 3, 4, 5};
int[] copy = Arrays.copyOf(array, 5);
return copy;
}
- public static int[] initializeLargerArrayUsingArraysCopy() {
- int array[] = { 1, 2, 3, 4, 5 };
+ static int[] initializeLargerArrayUsingArraysCopy() {
+ int array[] = {1, 2, 3, 4, 5};
int[] copy = Arrays.copyOf(array, 6);
return copy;
}
- public static int[] initializeArrayUsingArraysSetAll() {
+ static int[] initializeArrayUsingArraysSetAll() {
int[] array = new int[20];
- for (int i = 0; i < 20; i++) {
- Arrays.setAll(array, p -> {
- if (p > 9)
- return 0;
- else
- return p;
- });
- }
+ Arrays.setAll(array, p -> p > 9 ? 0 : p);
return array;
}
diff --git a/spring-hibernate3/pom.xml b/spring-hibernate3/pom.xml
index d7607cac0a..c36b1c0522 100644
--- a/spring-hibernate3/pom.xml
+++ b/spring-hibernate3/pom.xml
@@ -141,7 +141,7 @@
3.6.10.Final
5.1.40
- 7.0.73
+ 8.5.8
1.4.193
@@ -162,4 +162,4 @@
-
\ No newline at end of file
+
diff --git a/spring-hibernate3/src/main/java/org/baeldung/persistence/dao/EventDao.java b/spring-hibernate3/src/main/java/org/baeldung/persistence/dao/EventDao.java
new file mode 100644
index 0000000000..74da643f35
--- /dev/null
+++ b/spring-hibernate3/src/main/java/org/baeldung/persistence/dao/EventDao.java
@@ -0,0 +1,18 @@
+package org.baeldung.persistence.dao;
+
+
+import org.baeldung.persistence.model.Event;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public class EventDao extends AbstractHibernateDao implements IEventDao {
+
+ public EventDao() {
+ super();
+
+ setClazz(Event.class);
+ }
+
+ // API
+
+}
diff --git a/spring-hibernate3/src/main/java/org/baeldung/persistence/dao/IEventDao.java b/spring-hibernate3/src/main/java/org/baeldung/persistence/dao/IEventDao.java
new file mode 100644
index 0000000000..f7be705905
--- /dev/null
+++ b/spring-hibernate3/src/main/java/org/baeldung/persistence/dao/IEventDao.java
@@ -0,0 +1,9 @@
+package org.baeldung.persistence.dao;
+
+import org.baeldung.persistence.model.Event;
+
+
+
+public interface IEventDao extends IOperations {
+ //
+}
diff --git a/spring-hibernate3/src/main/java/org/baeldung/persistence/model/Event.java b/spring-hibernate3/src/main/java/org/baeldung/persistence/model/Event.java
new file mode 100644
index 0000000000..1d659ed75c
--- /dev/null
+++ b/spring-hibernate3/src/main/java/org/baeldung/persistence/model/Event.java
@@ -0,0 +1,45 @@
+package org.baeldung.persistence.model;
+
+import java.io.Serializable;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "EVENTS")
+public class Event implements Serializable {
+
+ @Id
+ @GeneratedValue
+ private Long id;
+
+ private String description;
+
+ public Event() {
+ }
+
+
+ public Event(String description) {
+ this.description = description;
+ }
+
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ }
\ No newline at end of file
diff --git a/spring-hibernate3/src/main/java/org/baeldung/persistence/service/EventService.java b/spring-hibernate3/src/main/java/org/baeldung/persistence/service/EventService.java
new file mode 100644
index 0000000000..6171751cc5
--- /dev/null
+++ b/spring-hibernate3/src/main/java/org/baeldung/persistence/service/EventService.java
@@ -0,0 +1,27 @@
+package org.baeldung.persistence.service;
+
+
+import org.baeldung.persistence.dao.IEventDao;
+import org.baeldung.persistence.model.Event;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class EventService {
+
+ @Autowired
+ private IEventDao dao;
+
+ public EventService() {
+ super();
+ }
+
+ // API
+
+ public void create(final Event entity) {
+ dao.create(entity);
+ }
+
+}
diff --git a/spring-hibernate3/src/main/java/org/baeldung/spring/PersistenceConfig.java b/spring-hibernate3/src/main/java/org/baeldung/spring/PersistenceConfig.java
index fea76dfc70..03b9bfac33 100644
--- a/spring-hibernate3/src/main/java/org/baeldung/spring/PersistenceConfig.java
+++ b/spring-hibernate3/src/main/java/org/baeldung/spring/PersistenceConfig.java
@@ -4,7 +4,7 @@ import java.util.Properties;
import javax.sql.DataSource;
-import org.apache.tomcat.dbcp.dbcp.BasicDataSource;
+import org.apache.tomcat.dbcp.dbcp2.BasicDataSource;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
@@ -75,4 +75,4 @@ public class PersistenceConfig {
return hibernateProperties;
}
-}
\ No newline at end of file
+}
diff --git a/spring-hibernate3/src/main/resources/exceptionDemo.cfg.xml b/spring-hibernate3/src/main/resources/exceptionDemo.cfg.xml
new file mode 100644
index 0000000000..8a710cc559
--- /dev/null
+++ b/spring-hibernate3/src/main/resources/exceptionDemo.cfg.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/spring-hibernate3/src/main/resources/exceptionDemoPersistenceConfig.xml b/spring-hibernate3/src/main/resources/exceptionDemoPersistenceConfig.xml
new file mode 100644
index 0000000000..09314c67b1
--- /dev/null
+++ b/spring-hibernate3/src/main/resources/exceptionDemoPersistenceConfig.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ classpath:exceptionDemo.cfg.xml
+
+
+
+ ${hibernate.dialect}
+ true
+ create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-hibernate3/src/main/resources/persistenceConfig.xml b/spring-hibernate3/src/main/resources/persistenceConfig.xml
index 347e85ee51..e7ef9ad765 100644
--- a/spring-hibernate3/src/main/resources/persistenceConfig.xml
+++ b/spring-hibernate3/src/main/resources/persistenceConfig.xml
@@ -18,7 +18,7 @@
-
+
@@ -31,4 +31,4 @@
-
\ No newline at end of file
+
diff --git a/spring-hibernate3/src/test/java/org/baeldung/persistence/service/NoHibernateSessBoundUsingAnnoSessionBeanMainIntegrationTest.java b/spring-hibernate3/src/test/java/org/baeldung/persistence/service/NoHibernateSessBoundUsingAnnoSessionBeanMainIntegrationTest.java
new file mode 100644
index 0000000000..2b29dcb7a9
--- /dev/null
+++ b/spring-hibernate3/src/test/java/org/baeldung/persistence/service/NoHibernateSessBoundUsingAnnoSessionBeanMainIntegrationTest.java
@@ -0,0 +1,42 @@
+package org.baeldung.persistence.service;
+
+import org.baeldung.persistence.model.Event;
+import org.baeldung.spring.PersistenceXmlConfig;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.orm.hibernate3.HibernateSystemException;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.support.AnnotationConfigContextLoader;
+
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { PersistenceXmlConfig.class }, loader = AnnotationConfigContextLoader.class)
+public class NoHibernateSessBoundUsingAnnoSessionBeanMainIntegrationTest {
+
+ @Autowired
+ EventService service;
+
+ @Rule
+ public ExpectedException expectedEx = ExpectedException.none();
+
+ @Test
+ public final void whenEntityIsCreated_thenNoExceptions() {
+ service.create(new Event("from Annotation Session Bean Factory"));
+ }
+
+ @Test
+ @Ignore
+ public final void whenNoTransBoundToSession_thenException() {
+ expectedEx.expect(HibernateSystemException.class);
+ expectedEx.expectMessage("No Hibernate Session bound to thread, "
+ + "and configuration does not allow creation of "
+ + "non-transactional one here");
+ service.create(new Event("from Annotation Session Bean Factory"));
+ }
+
+}
diff --git a/spring-hibernate3/src/test/java/org/baeldung/persistence/service/NoHibernateSessBoundUsingLocalSessionBeanMainIntegrationTest.java b/spring-hibernate3/src/test/java/org/baeldung/persistence/service/NoHibernateSessBoundUsingLocalSessionBeanMainIntegrationTest.java
new file mode 100644
index 0000000000..1bc6c07b18
--- /dev/null
+++ b/spring-hibernate3/src/test/java/org/baeldung/persistence/service/NoHibernateSessBoundUsingLocalSessionBeanMainIntegrationTest.java
@@ -0,0 +1,39 @@
+package org.baeldung.persistence.service;
+
+import org.baeldung.persistence.model.Event;
+import org.hibernate.HibernateException;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.orm.hibernate3.HibernateSystemException;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:exceptionDemoPersistenceConfig.xml" })
+public class NoHibernateSessBoundUsingLocalSessionBeanMainIntegrationTest {
+
+ @Autowired
+ EventService service;
+
+ @Rule
+ public ExpectedException expectedEx = ExpectedException.none();
+
+ @Test
+ public final void whenEntityIsCreated_thenNoExceptions() {
+ service.create(new Event("from local session bean factory"));
+ }
+
+ @Test
+ @Ignore
+ public final void whenNoTransBoundToSession_thenException() {
+ expectedEx.expect(HibernateException.class);
+ expectedEx.expectMessage("No Hibernate Session bound to thread, "
+ + "and configuration does not allow creation "
+ + "of non-transactional one here");
+ service.create(new Event("from local session bean factory"));
+ }
+}