title: java.lang.IllegalArgumentException: Not a managed type in spring boot app
body: <p>I am getting following error in my code</p>
  
  <blockquote>
    <p>org.springframework.beans.factory.UnsatisfiedDependencyException:
    Error creating bean with name 'locationServiceImpl': Unsatisfied
    dependency expressed through method 'setLocationrepo' parameter 0;
    nested exception is
    org.springframework.beans.factory.BeanCreationException: Error
    creating bean with name 'locationRepository': Invocation of init
    method failed; nested exception is java.lang.IllegalArgumentException:
    Not a managed type: class com.logan.location.entities.Location</p>
  </blockquote>
  
  <p>This is my repository Interface</p>
  
  <pre><code>package com.logan.location.repos;
  
  import org.springframework.data.jpa.repository.JpaRepository;
  import org.springframework.stereotype.Repository;
  import com.logan.location.entities.Location;
  
  @Repository
  public interface LocationRepository extends JpaRepository&lt;Location, Integer&gt; {
  
  }
  </code></pre>
  
  <p>This is my Service Interface</p>
  
  <pre><code>package com.logan.location.service;
  
  import java.util.List;
  import org.springframework.stereotype.Service;
  import com.logan.location.entities.Location;
  
  @Service
  public interface LocationService {
      Location saveLocation(Location location);
      Location updateLocation(Location location);
      void deleteLocation(Location location);
      Location getLocationById(int id);
      List&lt;Location&gt; getAllLocations();
  }
  </code></pre>
  
  <p>This is my serviceImpl</p>
  
  <pre><code>package com.logan.location.service;
  
  import java.util.List;
  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.stereotype.Service;
  import com.logan.location.entities.Location;
  import com.logan.location.repos.LocationRepository;
  
  @Service
  public class LocationServiceImpl implements LocationService {
  
      private LocationRepository locationrepo;
      @Autowired
      public void setLocationrepo(LocationRepository locationrepo) {
          this.locationrepo = locationrepo;
      }
  
      public Location saveLocation(Location location) {
          // TODO Auto-generated method stub
          return locationrepo.save(location);
      }
  
  
      public Location updateLocation(Location location) {
          // TODO Auto-generated method stub
          return locationrepo.save(location);
      }
  
  
      public void deleteLocation(Location location) {
          // TODO Auto-generated method stub
          locationrepo.delete(location);
      }
  
  
      public Location getLocationById(int id) {
          // TODO Auto-generated method stub
          return locationrepo.findById(id).get();
      }
  
  
      public List&lt;Location&gt; getAllLocations() {
          // TODO Auto-generated method stub
          return locationrepo.findAll();
      }
  
  
      public LocationRepository getLocationrepo() {
          return locationrepo;
      }
  }
  </code></pre>
  
  <p>And this is my entity Class</p>
  
  <pre><code>package com.logan.location.entities;
  
  import javax.persistence.Entity;
  import javax.persistence.Id;
  
  @Entity
  public class Location {
  
      @Id
      private int id;
      private String code;
      private String name;
      private String type;
  
      public int getId() {
          return id;
      }
  
      public void setId(int id) {
          this.id = id;
      }
  
      public String getCode() {
          return code;
      }
  
      public void setCode(String code) {
          this.code = code;
      }
  
      public String getName() {
          return name;
      }
  
      public void setName(String name) {
          this.name = name;
      }
      public String getType() {
          return type;
      }
  
      public void setType(String type) {
          this.type = type;
      }
  }
  </code></pre>
  
  <p>This is the starter class</p>
  
  <pre><code>package com.logan.location;
  
  import org.springframework.boot.SpringApplication;
  import org.springframework.boot.autoconfigure.SpringBootApplication;
  import org.springframework.boot.autoconfigure.domain.EntityScan;
  import org.springframework.context.annotation.ComponentScan;
  import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
  
  @EntityScan("com.logan.location.entities")
  @EnableJpaRepositories(basePackages = {"com.logan.location.repos"})
  @SpringBootApplication
  public class LocationApplication {
  
      public static void main(String[] args) {
          SpringApplication.run(LocationApplication.class, args);
      }
  }
  </code></pre>
  
  <p>It is showing my location entity class is unmanaged ,I have tried various answers but its not working ,any help??</p>