@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "schedule_assignees",
joinColumns = @JoinColumn(name = "schedule_id", referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "person_id", referencedColumnName = "id"))
private List<Person> assignedTo;
метод обслуживания:
@Override
public List<Integer> getScheduleYearsBy(Employee employee, Company company) {
Person person = personRepository.findByIdAndCompany(employee.getId(),company);
return scheduleRepository.findYearsBy(Arrays.asList(person), company);
}
Метод репозитория
@Query(value = "select distinct EXTRACT(YEAR FROM s.date) from Schedule s where (s.assignedTo in ?1) " +
"and (s.company = ?2) and s.archived=false")
List<Integer> findYearsBy(List<Person> person, Company company);
Этот метод репозитория прекрасно работает в ссылке на затмение.но в hibernate это исключение выглядит следующим образом
org.springframework.dao.InvalidDataAccessApiUsageException: Parameter value [com.orsbv.hcs.model.Employee@6a5] did not match expected type [java.util.Collection (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [com.orsbv.hcs.model.Employee@6a5] did not match expected type [java.util.Collection (n/a)]
at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:368)
Может кто-нибудь предложить способ заставить его работать в hibernate?