я хочу получить год от даты столбца моей сущности в спящем - PullRequest
0 голосов
/ 08 апреля 2019
 @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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...