Upgrade to Spring Framework 6.

This commit is contained in:
Oliver Drotbohm
2021-09-21 14:59:09 +02:00
parent da9fcb41f8
commit ede294967f
45 changed files with 206 additions and 224 deletions

View File

@@ -9,16 +9,16 @@
<relativePath>../pom.xml</relativePath>
</parent>
<name>Spring Data REST Tests</name>
<name>Spring Data REST Tests</name>
<artifactId>spring-data-rest-tests</artifactId>
<packaging>pom</packaging>
<modules>
<module>spring-data-rest-tests-core</module>
<module>spring-data-rest-tests-geode</module>
<module>spring-data-rest-tests-jpa</module>
<!--<module>spring-data-rest-tests-jpa</module>-->
<module>spring-data-rest-tests-mongodb</module>
<module>spring-data-rest-tests-security</module>
<!--<module>spring-data-rest-tests-security</module>-->
<module>spring-data-rest-tests-shop</module>
</modules>
@@ -30,8 +30,8 @@
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>${servlet.version}</version>
<scope>provided</scope>
</dependency>

View File

@@ -24,13 +24,6 @@
<version>4.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>

View File

@@ -36,15 +36,8 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<artifactId>hibernate-core-jakarta</artifactId>
<version>${hibernate.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
@@ -61,12 +54,6 @@
<artifactId>jackson-datatype-hibernate5</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
</dependencies>
</project>

View File

@@ -15,10 +15,10 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Version;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Version;
/**
* @author Oliver Gierke

View File

@@ -15,25 +15,25 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToMany;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
/**
* @author Oliver Gierke
*/
@Entity
public class Author {
@Id @GeneratedValue//
@Id @GeneratedValue //
Long id;
public String name;
@ManyToMany(mappedBy = "authors")//
@ManyToMany(mappedBy = "authors") //
public Set<Book> books = new HashSet<Book>();
protected Author() {}

View File

@@ -15,6 +15,12 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Embeddable;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToMany;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
@@ -22,13 +28,6 @@ import lombok.NoArgsConstructor;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Embeddable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import org.springframework.data.rest.core.annotation.RestResource;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -43,8 +42,7 @@ public class Book {
public @Id @GeneratedValue Long id;
public String isbn, title;
@JsonProperty("sales")
public long soldUnits;
@JsonProperty("sales") public long soldUnits;
@ManyToMany(cascade = { CascadeType.MERGE }) //
@RestResource(path = "creators") //

View File

@@ -15,13 +15,12 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Version;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Version;
/**
* @author Dario Seidl
*/

View File

@@ -15,15 +15,14 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import jakarta.persistence.Embeddable;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
import javax.persistence.Embeddable;
import javax.persistence.Entity;
import javax.persistence.Id;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
/**

View File

@@ -15,11 +15,10 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import jakarta.persistence.DiscriminatorValue;
import jakarta.persistence.Entity;
import lombok.Data;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
/**
* @author Alex Leigh
*/

View File

@@ -15,18 +15,17 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
import jakarta.persistence.OneToOne;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
/**
* @author Alex Leigh
*/

View File

@@ -15,10 +15,10 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.OneToOne;
import com.fasterxml.jackson.annotation.JsonIgnore;

View File

@@ -15,9 +15,9 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
/**
* @author Oliver Gierke
@@ -25,7 +25,7 @@ import javax.persistence.Id;
@Entity
public class LineItem {
@Id @GeneratedValue//
@Id @GeneratedValue //
private Long id;
private String name;

View File

@@ -15,13 +15,12 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Inheritance;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;

View File

@@ -15,19 +15,19 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
/**
* @author Oliver Gierke
*/
@@ -35,11 +35,11 @@ import javax.persistence.Table;
@Table(name = "ORDERS")
public class Order {
@Id @GeneratedValue//
@Id @GeneratedValue //
private Long id;
@ManyToOne(fetch = FetchType.LAZY)//
@ManyToOne(fetch = FetchType.LAZY) //
private Person creator;
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)//
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) //
private List<LineItem> lineItems = new ArrayList<LineItem>();
private Type type = Type.TAKE_AWAY;

View File

@@ -15,20 +15,20 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToMany;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.PrePersist;
import jakarta.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.PrePersist;
import javax.validation.constraints.NotNull;
import org.springframework.data.rest.core.annotation.Description;
import com.fasterxml.jackson.annotation.JsonIgnore;

View File

@@ -16,16 +16,16 @@
package org.springframework.data.rest.webmvc.jpa;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Temporal;
import jakarta.persistence.TemporalType;
import jakarta.persistence.Version;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Version;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
/**
@@ -34,51 +34,46 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
* @author Pablo Lozano
*/
@Entity
@JsonIgnoreProperties({"version"})
@JsonIgnoreProperties({ "version" })
public class Receipt {
@Id
@GeneratedValue
private Long id;
@Id @GeneratedValue private Long id;
private String saleItem;
private String saleItem;
private BigDecimal amount;
private BigDecimal amount;
@Version
@Temporal(TemporalType.TIMESTAMP)
private Date version;
@Version @Temporal(TemporalType.TIMESTAMP) private Date version;
public Long getId() {
return id;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public void setId(Long id) {
this.id = id;
}
public String getSaleItem() {
return saleItem;
}
public String getSaleItem() {
return saleItem;
}
public void setSaleItem(String saleItem) {
this.saleItem = saleItem;
}
public void setSaleItem(String saleItem) {
this.saleItem = saleItem;
}
public BigDecimal getAmount() {
return amount;
}
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
public Date getVersion() {
return version;
}
public Date getVersion() {
return version;
}
public void setVersion(Date version) {
this.version = version;
}
public void setVersion(Date version) {
this.version = version;
}
}

View File

@@ -1,4 +1,5 @@
/*
* Copyright 2012-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,13 +16,12 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Inheritance;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;

View File

@@ -15,11 +15,10 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import jakarta.persistence.DiscriminatorValue;
import jakarta.persistence.Entity;
import lombok.Data;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
/**
* @author Alex Leigh
*/

View File

@@ -15,9 +15,9 @@
*/
package org.springframework.data.rest.webmvc.jpa;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import com.fasterxml.jackson.annotation.JsonIgnore;

View File

@@ -17,13 +17,13 @@ package org.springframework.data.rest.webmvc.jpa;
import static org.assertj.core.api.Assertions.*;
import javax.persistence.Embeddable;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.validation.constraints.NotNull;
import jakarta.persistence.Embeddable;
import jakarta.persistence.Embedded;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import jakarta.validation.constraints.NotNull;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

View File

@@ -17,10 +17,9 @@ package org.springframework.data.rest.webmvc.jpa.groovy;
import groovy.lang.GroovyObject;
import groovy.lang.MetaClass;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
/**
* Simulates a Groovy domain object by extending {@link GroovyObject}.

View File

@@ -17,7 +17,7 @@ package org.springframework.data.rest.webmvc.json;
import static org.assertj.core.api.Assertions.*;
import javax.persistence.EntityManager;
import jakarta.persistence.EntityManager;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

View File

@@ -33,9 +33,9 @@
<!-- Explicit declaration required on Java 11 and above-->
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<version>2.0.0</version>
<scope>test</scope>
</dependency>

View File

@@ -15,9 +15,9 @@
*/
package org.springframework.data.rest.tests.shop;
import java.math.BigDecimal;
import jakarta.annotation.PostConstruct;
import javax.annotation.PostConstruct;
import java.math.BigDecimal;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;

View File

@@ -28,6 +28,7 @@ import org.springframework.hateoas.Link;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
import com.jayway.jsonpath.JsonPath;
@@ -69,6 +70,7 @@ class ShopIntegrationTests extends AbstractWebIntegrationTests {
client.follow(client.discoverUnique("products").expand(arguments))//
.andExpect(status().isOk())//
.andDo(MockMvcResultHandlers.print()) //
.andExpect(jsonPath("$._embedded.products[0].name", notNullValue()))//
.andExpect(jsonPath("$._embedded.products[0].price").doesNotExist());
}