Возникла проблема с этим кодом
public interface CharityRepository extends CrudRepository<Charity,Long> {
@Query("select sum(sponsorSum) from Charity")
Integer totalCharitySum();
}
Исключение выброса
org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании компонента с именем 'adminController', определенным в файле [D: \ IdeaProjects \ maraphonskills (3) \ target \ classes \ com \ maraphon \ maraphonskills \ controllers \ AdminController.class]: неудовлетворенная зависимость, выраженная через параметр конструктора 0;Вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании bean-компонента с именем 'charityServiceImpl', определенным в файле [D: \ IdeaProjects \ maraphonskills (3) \ target \ classes \ com \ maraphon \ maraphonskills \ service \ CharitySlasscmpl.mpl]: Неудовлетворенная зависимость выражается через параметр конструктора 0;вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем 'charityRepository': сбой вызова метода init;вложенное исключение - java.lang.IllegalArgumentException: проверка не удалась для запроса для метода public abstract java.lang.Short com.maraphon.maraphonskills.repository.CharityRepository.totalCharitySum ()!
Вызвано: org.springframework.be.factory.UnsatisfiedDependencyException: ошибка при создании bean-компонента с именем 'charityServiceImpl', определенным в файле [D: \ IdeaProjects \ maraphonskills (3) \ target \ classes \ com \ maraphon \ maraphonskills \ service \ CharityServiceImpl.class]: выраженная неудовлетворенная зависимость через конструктор0;вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем 'charityRepository': сбой вызова метода init;вложенным исключением является java.lang.IllegalArgumentException: проверка не удалась для запроса для метода public abstract java.lang.Short com.maraphon.maraphonskills.repository.CharityRepository.totalCharitySum ()!
Вызвано: org.springframework.be.factory.BeanCreationException: Ошибка создания бина с именем 'charityRepository': сбой вызова метода init;вложенное исключение - java.lang.IllegalArgumentException: проверка не удалась для запроса для метода public abstract java.lang.Short com.maraphon.maraphonskills.repository.CharityRepository.totalCharitySum ()!
Причина: java.lang.IllegalArgument: Проверка не удалась для запроса для метода public abstract java.lang.Short com.maraphon.maraphonskills.repository.CharityRepository.totalCharitySum ()!
Причина: java.lang.NullPointerException: null
Но этот код работает нормально
public interface CharityRepository extends CrudRepository<Charity,Long> {
@Query("select sum(sponsorTarget) from Registration")
Short totalSum();
}
@ Модификация не помогает. В чем может быть проблема?
Благотворительный код
@Entity
@EqualsAndHashCode(exclude = "registrations")
@Data
public class Charity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@Lob
private String description;
private String fileName;
private Short SponsorSum;
@OneToMany(mappedBy = "charity")
public Set<Registration> registrations = new HashSet<>();
}
Регистрационный код
@Entity
@EqualsAndHashCode(exclude = "sponsorShips")
@Data
public class Registration {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
public Runner runner;
private String registrationDateTime;
@ManyToOne
public Charity charity;
@ManyToOne
public RaceKitOption raceKitOption;
@ManyToOne
public RegistrationStatus registrationStatus;
private Short sponsorTarget;
@OneToMany(mappedBy = "registration")
public Set<SponsorShip> sponsorShips = new HashSet<>();
// public RegistrationEvent registrationEvent;
}