diff --git a/jpa/pom.xml b/jpa/pom.xml
index 82440371..c3124e4b 100644
--- a/jpa/pom.xml
+++ b/jpa/pom.xml
@@ -14,7 +14,7 @@
Spring Data JPA - Examples
Sample projects for Spring Data JPA
https://projects.spring.io/spring-data-jpa
- 2011-2014
+ 2011
example
@@ -56,11 +56,6 @@
spring-boot-starter-data-jpa
-
- joda-time
- joda-time
-
-
org.hsqldb
hsqldb
diff --git a/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountPredicates.java b/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountPredicates.java
index 4835383b..fe6e042e 100644
--- a/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountPredicates.java
+++ b/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountPredicates.java
@@ -18,7 +18,8 @@ package example.springdata.jpa.showcase.snippets;
import example.springdata.jpa.showcase.core.Account;
import example.springdata.jpa.showcase.core.QAccount;
-import org.joda.time.LocalDate;
+import java.sql.Date;
+import java.time.LocalDate;
import com.querydsl.core.types.dsl.BooleanExpression;
@@ -32,10 +33,10 @@ public class AccountPredicates {
private static QAccount account = QAccount.account;
public static BooleanExpression isExpired() {
- return expiresBefore(new LocalDate());
+ return expiresBefore(LocalDate.now());
}
public static BooleanExpression expiresBefore(LocalDate date) {
- return account.expiryDate.before(date.toDateTimeAtStartOfDay().toDate());
+ return account.expiryDate.before(Date.valueOf(date));
}
}
diff --git a/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryCustom.java b/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryCustom.java
index 255b02ac..787a6297 100644
--- a/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryCustom.java
+++ b/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryCustom.java
@@ -15,7 +15,7 @@
*/
package example.springdata.jpa.showcase.snippets;
-import org.joda.time.LocalDate;
+import java.time.LocalDate;
/**
* @author Oliver Gierke
diff --git a/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryImpl.java b/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryImpl.java
index 925492b8..e7c82056 100644
--- a/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryImpl.java
+++ b/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryImpl.java
@@ -15,6 +15,7 @@
*/
package example.springdata.jpa.showcase.snippets;
+import java.time.LocalDate;
import java.util.Date;
import javax.persistence.EntityManager;
@@ -22,7 +23,6 @@ import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
-import org.joda.time.LocalDate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@@ -52,7 +52,7 @@ class AccountRepositoryImpl implements AccountRepositoryCustom {
CriteriaQuery query = cb.createQuery(Account.class);
Root account = query.from(Account.class);
- query.where(cb.lessThan(account.get("expiryDate").as(Date.class), reference.toDateTimeAtStartOfDay().toDate()));
+ query.where(cb.lessThan(account.get("expiryDate").as(Date.class), java.sql.Date.valueOf(reference)));
for (Account each : em.createQuery(query).getResultList()) {
em.remove(each);
diff --git a/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryJdbcImpl.java b/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryJdbcImpl.java
index 8b1f188c..212c061e 100644
--- a/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryJdbcImpl.java
+++ b/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryJdbcImpl.java
@@ -15,7 +15,9 @@
*/
package example.springdata.jpa.showcase.snippets;
-import org.joda.time.LocalDate;
+import java.sql.Date;
+import java.time.LocalDate;
+
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
@@ -37,6 +39,6 @@ class AccountRepositoryJdbcImpl implements AccountRepositoryCustom {
*/
@Override
public void removedExpiredAccounts(LocalDate reference) {
- template.update("DELETE Account AS a WHERE a.expiryDate < ?", reference.toDateTimeAtStartOfDay().toDate());
+ template.update("DELETE Account AS a WHERE a.expiryDate < ?", Date.valueOf(reference));
}
}
diff --git a/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/CustomerSpecifications.java b/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/CustomerSpecifications.java
index a5737e96..e850e0ca 100644
--- a/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/CustomerSpecifications.java
+++ b/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/CustomerSpecifications.java
@@ -15,20 +15,18 @@
*/
package example.springdata.jpa.showcase.snippets;
+import example.springdata.jpa.showcase.core.Account;
+import example.springdata.jpa.showcase.core.Customer;
+
+import java.time.LocalDate;
import java.util.Date;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
-import org.joda.time.LocalDate;
import org.springframework.data.jpa.domain.Specification;
-import example.springdata.jpa.showcase.core.Account;
-import example.springdata.jpa.showcase.core.Customer;
-
/**
* Collection of {@link Specification} implementations.
*
@@ -42,20 +40,16 @@ public class CustomerSpecifications {
* @param date
* @return
*/
- public static Specification accountExpiresBefore(final LocalDate date) {
+ public static Specification accountExpiresBefore(LocalDate date) {
- return new Specification() {
+ return (Specification) (root, query, cb) -> {
- @Override
- public Predicate toPredicate(Root root, CriteriaQuery> query, CriteriaBuilder cb) {
+ Root accounts = query.from(Account.class);
+ Path expiryDate = accounts. get("expiryDate");
+ Predicate customerIsAccountOwner = cb.equal(accounts. get("customer"), root);
+ Predicate accountExpiryDateBefore = cb.lessThan(expiryDate, java.sql.Date.valueOf(date));
- Root accounts = query.from(Account.class);
- Path expiryDate = accounts. get("expiryDate");
- Predicate customerIsAccountOwner = cb.equal(accounts. get("customer"), root);
- Predicate accountExpiryDateBefore = cb.lessThan(expiryDate, date.toDateTimeAtStartOfDay().toDate());
-
- return cb.and(customerIsAccountOwner, accountExpiryDateBefore);
- }
+ return cb.and(customerIsAccountOwner, accountExpiryDateBefore);
};
}
}
diff --git a/jpa/showcase/src/test-snippets/java/example/springdata/jpa/showcase/snippets/test/AccountRepositoryIntegrationTest.java b/jpa/showcase/src/test-snippets/java/example/springdata/jpa/showcase/snippets/test/AccountRepositoryIntegrationTest.java
index 62dd8fdb..b037e5c6 100644
--- a/jpa/showcase/src/test-snippets/java/example/springdata/jpa/showcase/snippets/test/AccountRepositoryIntegrationTest.java
+++ b/jpa/showcase/src/test-snippets/java/example/springdata/jpa/showcase/snippets/test/AccountRepositoryIntegrationTest.java
@@ -23,10 +23,9 @@ import static org.junit.Assert.assertThat;
import example.springdata.jpa.showcase.core.Account;
import example.springdata.jpa.showcase.snippets.AccountRepository;
+import java.time.LocalDate;
import java.util.Optional;
-import org.joda.time.LocalDate;
-
/**
* @author Oliver Gierke
*/
@@ -36,7 +35,7 @@ public abstract class AccountRepositoryIntegrationTest {
public void removesExpiredAccountsCorrectly() throws Exception {
- accountRepository.removedExpiredAccounts(new LocalDate(2011, 1, 1));
+ accountRepository.removedExpiredAccounts(LocalDate.of(2011, 1, 1));
assertThat(accountRepository.count(), is(1L));
}
@@ -45,7 +44,7 @@ public abstract class AccountRepositoryIntegrationTest {
Optional expired = accountRepository.findById(1L);
Optional valid = accountRepository.findById(2L);
- Iterable findAll = accountRepository.findAll(expiresBefore(new LocalDate(2011, 3, 1)));
+ Iterable findAll = accountRepository.findAll(expiresBefore(LocalDate.of(2011, 3, 1)));
assertThat(findAll).contains(expired.get());
assertThat(findAll).doesNotContain(valid.get());
diff --git a/jpa/showcase/src/test-snippets/java/example/springdata/jpa/showcase/snippets/test/CustomerRepositoryIntegrationTest.java b/jpa/showcase/src/test-snippets/java/example/springdata/jpa/showcase/snippets/test/CustomerRepositoryIntegrationTest.java
index 484826ff..5e55e266 100644
--- a/jpa/showcase/src/test-snippets/java/example/springdata/jpa/showcase/snippets/test/CustomerRepositoryIntegrationTest.java
+++ b/jpa/showcase/src/test-snippets/java/example/springdata/jpa/showcase/snippets/test/CustomerRepositoryIntegrationTest.java
@@ -21,10 +21,10 @@ import static org.assertj.core.api.Assertions.*;
import example.springdata.jpa.showcase.after.CustomerRepository;
import example.springdata.jpa.showcase.core.Customer;
+import java.time.LocalDate;
import java.util.List;
import java.util.Optional;
-import org.joda.time.LocalDate;
import org.springframework.data.jpa.domain.Specification;
/**
@@ -40,7 +40,7 @@ public class CustomerRepositoryIntegrationTest {
Optional dave = repository.findById(1L);
- LocalDate expiryLimit = new LocalDate(2011, 3, 1);
+ LocalDate expiryLimit = LocalDate.of(2011, 3, 1);
List result = repository.findAll(accountExpiresBefore(expiryLimit));
assertThat(result).hasSize(1);
diff --git a/jpa/showcase/src/test/java/example/springdata/jpa/showcase/after/CustomerRepositoryIntegrationTest.java b/jpa/showcase/src/test/java/example/springdata/jpa/showcase/after/CustomerRepositoryIntegrationTest.java
index 2def1ab5..bec7bfea 100644
--- a/jpa/showcase/src/test/java/example/springdata/jpa/showcase/after/CustomerRepositoryIntegrationTest.java
+++ b/jpa/showcase/src/test/java/example/springdata/jpa/showcase/after/CustomerRepositoryIntegrationTest.java
@@ -20,10 +20,10 @@ import static org.assertj.core.api.Assertions.*;
import example.springdata.jpa.showcase.AbstractShowcaseTest;
import example.springdata.jpa.showcase.core.Customer;
+import java.time.LocalDate;
import java.util.List;
import java.util.Optional;
-import org.joda.time.LocalDate;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
@@ -66,7 +66,7 @@ public class CustomerRepositoryIntegrationTest extends AbstractShowcaseTest {
Optional dave = repository.findById(1L);
- LocalDate expiryLimit = new LocalDate(2011, 3, 1);
+ LocalDate expiryLimit = LocalDate.of(2011, 3, 1);
List result = repository.findAll(accountExpiresBefore(expiryLimit));
assertThat(result).hasSize(1);