Spring Data JPA gibt ein unerwartetes Ergebnis mit scrollbasierter Abfrage- und Operationspriorität zurückJava

Java-Forum
Guest
 Spring Data JPA gibt ein unerwartetes Ergebnis mit scrollbasierter Abfrage- und Operationspriorität zurück

Post by Guest »

Ich habe diese Entitäten

Code: Select all

@Entity
@Table(name = "Item")
class Item(
@Column(name = "name", nullable = false)
var name: String,

@Column(name = "added_date", columnDefinition = "TIMESTAMP WITH TIME ZONE", nullable = true)
var addedDate: ZonedDateTime? = null,

@Column(name = "duration", nullable = true)
var duration: Int? = null,

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "head_of_id", nullable = false)
val headOf: HeadOf,
) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long = 0
}

@Entity
@Table(name = "head_of")
class HeadOf(
@Column(name = "company", nullable = false)
var company: String,

@Column(name = "city", nullable = false)
var city: String,

@Column(name = "age", nullable = true)
var age: Int?
) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long = 0
}

und dies ist das entsprechende Repository

Code: Select all

interface ItemRepository : JpaRepository {
fun findByHeadOfIdAndAddedDateNotNullOrDurationNotNull(
headOfId: Long,
position: ScrollPosition,
pageable: Pageable,
): Window
}
Dies ist, was sich derzeit in der Tabelle Item befindet. Es ist eine Zeile (es ist das Ergebnis eines Dumps)

Code: Select all

INSERT INTO public.item VALUES (1, 'Some fancy title', '2024-12-31 07:14:42.955789+00', NULL, 1000);
Wie Sie sehen können, ist headOf 1000L.
Wenn ich nun diese Funktion aufrufe, findByHeadOfIdAndAddedDateNotNullOrDurationNotNull mit den folgenden Werten

headOfId: 0
scrollPosition: ScrollPosition.of(...)
PageRequest.of(0, 10)

es gibt mir die eine Zeile zurück, die dort drin ist. Das erwarte ich nicht, denn die headOfId, die ich übergebe, ist 0L und nicht 1000L.
Ich kann keine @Query Annotation, dann erhalte ich Folgendes

Abfrage für öffentliche Zusammenfassung org.springframework.data.domain.Window konnte nicht erstellt werden org...jpa.repository.ItemRepository.findByHeadOfIdAndAddedDateNotNullOrDurationNotNull(long,org.springframework.data.domain.ScrollPosition,org.springframework.data.domain.Pageable);
Grund: Scroll-Abfragen werden mit String-basiert nicht unterstützt Abfragen

Gibt es eine Lösung dafür?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post