Как я могу решить это Spring UnsatisfiedDependencyException - PullRequest
0 голосов
/ 04 июня 2018

Я только начал изучать Spring и Hibernate и пытался немного попрактиковаться, но у меня возникли некоторые проблемы.Базовая структура - это образец, вот так.enter image description here

Однако я столкнулся с проблемой UnsatisfiedDependencyException:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'administratorController': Unsatisfied dependency expressed through field 'userService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userServiceImpl': Unsatisfied dependency expressed through field 'userDAO'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userDAOImpl': Unsatisfied dependency expressed through field 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/spring-mvc-school-management-sys-servlet.xml]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: com.demo.schoolmanagementsystem.entity.Users.users in com.demo.schoolmanagementsystem.entity.Institution.users

Код, который я сделал, находится по этой ссылке: https://github.com/LehTia/schoolmanagementsystem. Iпосмотрел весь день, но я не смог найтиКто-нибудь может быстро взглянуть на то, что я сделал, и сказать, где что-то пошло не так?

Буду признателен за любую помощь.Огромное спасибо.

1 Ответ

0 голосов
/ 04 июня 2018

Проблема связана со свойством mappedBy, вы устанавливаете свойство «users», которое является некорректным.В вашем случае вы должны использовать:

@OneToMany(fetch=FetchType.LAZY,
            mappedBy="institution",
            cascade={CascadeType.DETACH, CascadeType.MERGE,CascadeType.PERSIST, CascadeType.REFRESH})
private List<Users> users;

Даже если вы устанавливаете связь между двумя таблицами, только одна из этих таблиц имеет ограничение внешнего ключа для другой.«MappedBy позволяет вам по-прежнему ссылаться из таблицы, не содержащей ограничения, на другую таблицу».Пожалуйста, прочитайте Может кто-нибудь объяснить, пожалуйста, mappedBy в спящем режиме? и http://www.baeldung.com/hibernate-one-to-many

...