Suchen Sie anhand eines Beispiels in Spring Data JPAJava

Java-Forum
Guest
 Suchen Sie anhand eines Beispiels in Spring Data JPA

Post by Guest »

Angenommen, ich habe eine Entität mit vielen Feldern. Anstatt sie separat zu übergeben und die Parameterliste aufzublähen, möchte ich stattdessen eine ganze Entität übergeben.
Wie erreiche ich das in Spring Data JPA?
Für den Zweck der Frage mache ich die Entität winzig, aber Sie können sie sich viel größer vorstellen.
package com.example.socks_api.dao;

import com.example.socks_api.data.entity.Socks;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.RepositoryDefinition;
import org.springframework.data.repository.query.Param;

import java.util.UUID;

@RepositoryDefinition(idClass = UUID.class, domainClass = Socks.class)
public interface SocksDao {

// this query will make the app fail at start-up
@Query("""
SELECT Socks s
WHERE s.color = :socks.color
AND s.cottonContent = :socks.cottonContent
""")
Socks findBy(@Param("socks") Socks socks);
}

package com.example.socks_api.data.entity;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.Getter;
import lombok.Setter;

import java.math.BigInteger;
import java.util.UUID;

@Entity
@Getter
@Setter
public class Socks {
@Id
@GeneratedValue(strategy = GenerationType.UUID)
private UUID id;
private String color;
@Column(name = "cotton_content")
private Integer cottonContent;
private BigInteger quantity;
}

Java 17, Spring Boot 3

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post