Ciao, sto cercando di impratichirmi con Spring e mi sto facendo un'applicazione di prova per conto mio.
Ho però dei problemi con alcune query.
Ho creato queste due entities
ecodice:package myproject.soccerpredictor.model; import jakarta.persistence.*; import lombok.*; import javax.validation.constraints.NotNull; import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigInteger; import java.util.Objects; @Data @AllArgsConstructor @NoArgsConstructor @Getter @Setter @Entity @Table(name="campionati") public class Campionato { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="id", columnDefinition="BIGINT(10) UNSIGNED") @JsonProperty(value = "id") private BigInteger id; @NotNull @Column(name="nome") @JsonProperty(value = "nome") private String nome; @NotNull @Column(name="nazione") @JsonProperty(value = "nazione") private String nazione; }
e ho definito questa interface per le querycodice:package myproject.soccerpredictor.model; import java.math.BigInteger; import javax.validation.constraints.NotNull; import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import lombok.AllArgsConstructor; import lombok.Data; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @Data @AllArgsConstructor @NoArgsConstructor @Getter @Setter @Entity @Table(name="squadre") public class Squadra { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="id", columnDefinition="BIGINT(10) UNSIGNED") @JsonProperty(value = "id") private BigInteger id; @ManyToOne @JoinColumn(name = "id_campionato", nullable = false) @JsonProperty(value = "campionato") private Campionato idCampionato; @NotNull @Column(name="nome") @JsonProperty(value = "nome") private String nome; @NotNull @Column(name="punti") @JsonProperty(value = "punti") private BigInteger punti; @NotNull @Column(name="differenza_reti") @JsonProperty(value = "differenza_reti") private BigInteger diffReti; @NotNull @Column(name="goal_fatti") @JsonProperty(value = "goal_fatti") private BigInteger goalFatti; @NotNull @Column(name="goal_subiti") @JsonProperty(value = "goal_subiti") private BigInteger goalSubiti; }
Dopo aver aggiunto l'ultima query quando avvio il modulo da Eclipse ottengo questo errore sullo startupcodice:package myproject.soccerpredictor.repository; import java.math.BigInteger; import java.util.List; import org.springframework.data.jdbc.repository.query.Query; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.repository.query.Param; import myproject.soccerpredictor.model.Squadra; public interface SquadraRepository extends JpaRepository<Squadra, BigInteger> { @Query("SELECT u FROM Squadra u JOIN FETCH u.idCampionato WHERE u.id = :id") Squadra findSquadraById(@Param("id") BigInteger id); @Query("SELECT u FROM Squadra u JOIN FETCH u.idCampionato c WHERE u.nome = :nome") Squadra findSquadraByNome(@Param("nome") String nome); @Query("SELECT u FROM Squadra u WHERE u.idCampionato.id = :idCampionato") List<Squadra> findSquadreByCampionato(@Param("idCampionato") BigInteger id); }
org.springframework.beans.factory.UnsatisfiedDepen dencyException: Error creating bean with name 'squadraController': Unsatisfied dependency expressed through field 'squadraService': Error creating bean with name 'squadraServiceImpl': Unsatisfied dependency expressed through field 'squadraRepository': Error creating bean with name 'squadraRepository' defined in myproject.soccerpredictor.repository.SquadraReposi tory defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConf iguration: Could not create query for public abstract java.util.List myproject.soccerpredictor.repository.SquadraReposi tory.findSquadraByCampionato(java.math.BigInteger) ; Reason: Failed to create query for method public abstract java.util.List myproject.soccerpredictor.repository.SquadraReposi tory.findSquadraByCampionato(java.math.BigInteger) ; No property 'campionato' found for type 'Squadra'
Esattamente cosa sto sbagliando?
Grazie in anticipo a chi risponderà

Rispondi quotando