Browse Source

Fix Eclipse Link tests

Signed-off-by: James Bodkin <james.bodkin+github@amphora.net>
pull/4156/head
James Bodkin 3 weeks ago committed by James Bodkin
parent
commit
64fcfd9c8a
  1. 12
      spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/JpaMetamodelEntityInformation.java
  2. 15
      spring-data-jpa/src/test/java/org/springframework/data/jpa/domain/sample/Trade.java
  3. 20
      spring-data-jpa/src/test/java/org/springframework/data/jpa/domain/sample/TradeItem.java
  4. 21
      spring-data-jpa/src/test/java/org/springframework/data/jpa/domain/sample/TradeOrder.java
  5. 4
      spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/HierarchicalIdClassRepositoryTests.java

12
spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/JpaMetamodelEntityInformation.java

@ -46,6 +46,7 @@ import org.springframework.data.jpa.repository.query.JpaMetamodelEntityMetadata; @@ -46,6 +46,7 @@ import org.springframework.data.jpa.repository.query.JpaMetamodelEntityMetadata;
import org.springframework.data.jpa.util.JpaMetamodel;
import org.springframework.data.util.DirectFieldAccessFallbackBeanWrapper;
import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
/**
* Implementation of {@link org.springframework.data.repository.core.EntityInformation} that uses JPA {@link Metamodel}
@ -321,9 +322,14 @@ public class JpaMetamodelEntityInformation<T, ID> extends JpaEntityInformationSu @@ -321,9 +322,14 @@ public class JpaMetamodelEntityInformation<T, ID> extends JpaEntityInformationSu
}
private static <X> Set<SingularAttribute<? super X, ?>> findAttributes(IdentifiableType<X> source) {
return source.hasSingleIdAttribute()
? Collections.singleton(source.getId(source.getIdType().getJavaType()))
: source.getIdClassAttributes();
if (source.hasSingleIdAttribute()) {
for (SingularAttribute<? super X, ?> attribute : source.getSingularAttributes()) {
if (attribute.isId()) {
return Collections.singleton(attribute);
}
}
}
return source.getIdClassAttributes();
}
private static <X> List<String> findAttributePaths(IdentifiableType<X> source, @Nullable String prefix) {

15
spring-data-jpa/src/test/java/org/springframework/data/jpa/domain/sample/Trade.java

@ -15,12 +15,7 @@ @@ -15,12 +15,7 @@
*/
package org.springframework.data.jpa.domain.sample;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import jakarta.persistence.*;
import java.util.List;
@ -33,9 +28,13 @@ import java.util.List; @@ -33,9 +28,13 @@ import java.util.List;
@Table
public class Trade {
@Id @GeneratedValue Integer id;
@Id
@GeneratedValue
@Column(name = "id")
private Integer id;
@OneToMany(mappedBy = "trade", cascade = CascadeType.ALL) List<TradeOrder> tradeOrders;
@OneToMany(mappedBy = "trade", cascade = CascadeType.ALL)
private List<TradeOrder> tradeOrders;
public Trade() {}

20
spring-data-jpa/src/test/java/org/springframework/data/jpa/domain/sample/TradeItem.java

@ -15,12 +15,7 @@ @@ -15,12 +15,7 @@
*/
package org.springframework.data.jpa.domain.sample;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.IdClass;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import jakarta.persistence.*;
/**
* @author James Bodkin
@ -32,11 +27,18 @@ import jakarta.persistence.Table; @@ -32,11 +27,18 @@ import jakarta.persistence.Table;
@IdClass(TradeItemId.class)
public class TradeItem {
@Id @ManyToOne TradeOrder tradeOrder;
@Id
@ManyToOne
@JoinColumn(name = "trade_id", referencedColumnName = "trade_id")
@JoinColumn(name = "trade_order_id", referencedColumnName = "number")
private TradeOrder tradeOrder;
@Id Integer number;
@Id
@Column(name = "number")
private Integer number;
@Column String type;
@Column(name = "type")
private String type;
public TradeItem() {}

21
spring-data-jpa/src/test/java/org/springframework/data/jpa/domain/sample/TradeOrder.java

@ -15,13 +15,7 @@ @@ -15,13 +15,7 @@
*/
package org.springframework.data.jpa.domain.sample;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.IdClass;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import jakarta.persistence.*;
import java.util.List;
@ -35,12 +29,17 @@ import java.util.List; @@ -35,12 +29,17 @@ import java.util.List;
@IdClass(TradeOrderId.class)
public class TradeOrder {
@Id @ManyToOne
Trade trade;
@Id
@ManyToOne
@JoinColumn(name = "trade_id", referencedColumnName = "id")
private Trade trade;
@Id Integer number;
@Id
@Column(name = "number")
private Integer number;
@OneToMany(mappedBy = "tradeOrder", cascade = CascadeType.ALL) List<TradeItem> tradeItems;
@OneToMany(mappedBy = "tradeOrder", cascade = CascadeType.ALL)
private List<TradeItem> tradeItems;
public TradeOrder() {}

4
spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/HierarchicalIdClassRepositoryTests.java

@ -49,7 +49,7 @@ import static org.assertj.core.api.Assertions.assertThat; @@ -49,7 +49,7 @@ import static org.assertj.core.api.Assertions.assertThat;
@ContextConfiguration(classes = HierarchicalIdClassRepositoryTests.TestConfig.class)
@Transactional
public class HierarchicalIdClassRepositoryTests {
@Autowired private TradeRepository tradeRepository;
@Autowired private TradeItemRepository tradeItemRepository;
@ -92,5 +92,5 @@ public class HierarchicalIdClassRepositoryTests { @@ -92,5 +92,5 @@ public class HierarchicalIdClassRepositoryTests {
@ImportResource("classpath:infrastructure.xml")
static class TestConfig extends Config {}
}

Loading…
Cancel
Save