У меня есть небольшой экспериментальный проект, структура которого выглядит следующим образом:
demo
|----->src/main/java
|---->com.java.application
| |---->DemoApplication.java
|---->com.java.model
|---->Customer.java
|---->CustomerRepository.java
Где мой DemoApplication.java
@SpringBootApplication
@ComponentScan(basePackages= {"com.java.model"})
@EnableJpaRepositories(basePackageClasses= {CustomerRepository.class})
@EntityScan("com.java.model.Customer")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class);
}
@Bean
public CommandLineRunner demo(CustomerRepository repository) {
return (args) -> {
// save a couple of customers
repository.save(new Customer("Jack", "Bauer"));
repository.save(new Customer("Chloe", "O'Brian"));
repository.save(new Customer("Kim", "Bauer"));
repository.save(new Customer("David", "Palmer"));
repository.save(new Customer("Michelle", "Dessler"));
};
}
}
Я добавил @Entity в свой класс Customer.java
@Entity
public class Customer {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private String firstName;
private String lastName;
protected Customer() {}
public Customer(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
@Override
public String toString() {
return String.format(
"Customer[id=%d, firstName='%s', lastName='%s']",
id, firstName, lastName);
}
}
А мой CustomerRepository.java как импорт org.springframework.data.repository.CrudRepository;
public interface CustomerRepository extends CrudRepository<Customer, Long>{
List<Customer> findByLastName(String lastName);
}
Но когда я запускаю, я получаю ошибки.Я пробовал решения в других сообщениях для этой проблемы, но ни один не работает.
Я продолжаю получать: Причина: java.lang.IllegalArgumentException: Не управляемый тип: класс com.java.model.Customer
Что здесь не так?