Mam prosty projekt Boot z JPA, Web i PostgreSQL. Używam najnowszej wersji sprężynowej 2.1.3.Release .

Po dodaniu prostego aplikacji JPArePository nie powiedzie się na uruchomieniu z następującym błędem:

***************************
APPLICATION FAILED TO START
***************************

Description:

Field dataMappingRepository in com.my.example.service.impl.SimpleServiceImpl required a bean named 'entityManagerFactory' that could not be found.

The injection point has the following annotations:
    - @org.springframework.beans.factory.annotation.Autowired(required=true)


Action:

Consider defining a bean named 'entityManagerFactory' in your configuration.

Mam prostą klasę @service jak:

public class SimpleServiceImpl implements SimpleService {
  @Autowired private SimpleJpaRepository repo;
}

I JPAREPOSitory:

public interface SimpleJpaRepository extends JpaRepository<SimpleEntity, Long> {}

A oto mój aplikacja.eMl:

spring:
   datasource:
      url: jdbc:postgresql://localhost:5432/simple
      username: user
      password: pass
      driver-class-name: org.postgresql.Driver
   jpa:
      show-sql: false
      properties:
         hibernate:
            dialect: org.hibernate.dialect.PostgreSQLDialect
      hibernate:
         ddl-auto: validate

Jeśli zmienę Spring-Boot-Starter-Starter-Rodzic do 2.0.8.Release Aplikacja uruchomi się poprawnie.

2
Danny 22 luty 2019, 14:17

2 odpowiedzi

Najlepsza odpowiedź

OK, więc w końcu problem był jak Andy Wilkinson powiedział z buforowaną zależnością Hibernacji.

Po usunięciu folderu Org.bendate z mojego M2 Repo i aktualizacji projektu Maven działa poprawnie.

2
Danny 25 luty 2019, 11:56

Używam najnowszej wersji Boot Version 2.1.2.Rease.
Ale omyłkowo, w Właściwości Tag, zapomnij usunąć 4.3.5 Wersja, gdy widzisz poniżej, który powoduje zamieszanie między ładowanymi bibliotekami.
{x0}}
W Repozytorium M2 w folderze Org.bendate pobierałem pobrane biblioteki wersji. Usuń folder ORG.Biverate i aktualizuj projekt Maven. Będzie działać.

0
user11848973 28 lipiec 2019, 17:13