У меня есть приложение Spring Boot, в котором я создал сущность, репозиторий и сервис.
Я сохраняю сущности в базе данных с помощью транзакций, и все работает отлично, моя база данных заполнена, как я и ожидал. Кроме того, я должен упомянуть, что моя база данных создана в PHPMyAdmin.
Я также создал репозиторий для извлечения некоторых данных из базы данных путем расширения репозитория Crud. У меня также есть сервис, который хранит методы, которые вызывают хранилище.
Хотя, ни один из методов, которые у меня есть, ничего не возвращает (моя база данных не пуста), и я не знаю почему. Я также попытался добавить @EnableJpaRepositories и @ComponentScan для объекта, но это не сработало. Ниже приведены мои классы:
Сущность (я не буду помещать здесь все методы получения и установки):
@Entity
@Table(name = "matches", schema = "tennis", catalog = "")
public class MatchesEntity {
private int id;
private String namePlayer1;
private String namePlayer2;
private int setsPlayer1;
private int setsPlayer2;
private String odd1;
private String odd2;
private String competition;
private String surface;
private String status;
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Basic
@Column(name = "Name_player1")
public String getNamePlayer1() {
return namePlayer1;
}
public void setNamePlayer1(String namePlayer1) {
this.namePlayer1 = namePlayer1;
}
@Basic
@Column(name = "Name_player2")
public String getNamePlayer2() {
return namePlayer2;
}
// other getter & setters
}
Хранилище:
@Repository
public interface MatchesRepository extends CrudRepository<MatchesEntity,
Integer> {
List<MatchesEntity> getAllBySurface(String surface);
}
Служба:
@Service
public class MatchesService {
@Autowired
MatchesRepository matchesRepository;
public int countMatchesOnHard() {
return matchesRepository.getAllBySurface("hard").size();
}
public MatchesEntity findMatchById() {
return matchesRepository.findById(2378).get();
}
}
Основной класс:
@SpringBootApplication
@EnableJpaRepositories(basePackageClasses={MatchesRepository.class})
@EntityScan(basePackageClasses=MatchesEntity.class)
public class PicksApplication {
@Autowired
static MatchesService matchesService;
public static void main(String[] args) {
MatchesEntity matchesEntity = matchesService.findMatchById();
int numberOfMatchesOnHard = matchesService.countMatchesOnHard();
System.out.println(numberOfMatchesOnHard);
}
}
Любой метод, который я пробую и который связан с хранилищем, возвращает ноль. Кто-нибудь может мне помочь с предложением?