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ät

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
}
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: null
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.
Dies ist die durchgeführte Anfrage

Code: Select all

SELECT
i1_0.id,
i1_0.added_date,
i1_0.duration,
i1_0.head_of_id,
FROM
item i1_0
LEFT JOIN
headOf h1_0
ON
h1_0.id = i1_0.head_of_id
WHERE
h1_0.id = ?
AND (i1_0.added_date IS NOT NULL OR i1_0.duration IS NOT NULL)
OFFSET
? ROWS
FETCH FIRST
? ROWS ONLY;
Ich kann keine @Query-Annotation verwenden, dann erhalte ich Folgendes:

Abfrage konnte nicht erstellt werden für öffentliche Zusammenfassung org.springframework.data.domain.Window 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