Issue
This is my repository:
@Repository
public interface GroupRepository extends JpaRepository<Group, Integer> {}
This is how I tried to use it in my service class:
@Service
public class GroupService {
private final GroupRepository groupRepository;
@Autowired
public GroupService(GroupRepository groupRepository) {
this.groupRepository = groupRepository;
}
Got this error :org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'groupController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'groupService' defined in file [/Users/nathanxuan/Files/Project/ratingApp/target/classes/com/xjy/service/GroupService.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'groupRepository' defined in com.xjy.mapper.GroupRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not a managed type: class com.xjy.pojo.Group
Does anyone know why this is happening? When I commented out the repository class everything works fine (I have another mapper class and that one also works).
-------edit----------- This is the structure of my app:
Solution
I think the problem is with the model class Group, it needs the Entity annotation since you are using JPA. Try out this:
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Group {
....
}
Note: @Data @AllArgsConstructor @NoArgsConstructor comes from Lombok, so if you're not using it, just create regular Getter and Setter
Answered By - Tsvetoslav Tsvetkov
Answer Checked By - Robin (JavaFixing Admin)