• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Podpinanie MYSQL do Springa.

42 Warsaw Coding Academy
0 głosów
141 wizyt
pytanie zadane 26 lipca 2017 w Java przez Aisekai Nałogowiec (42,190 p.)

Jak w temacie. Chciałbym podpiąć mysql do Springa, a potem zapisać w niej przykładowy obiekt przy pomocy Hibernate. Jednak siedzę, czytam i nie jestem wstanie wykombinować jak, nie używając persistence.xml jako persistence unit, tylko wrzucić to wszystko jako właściwości aplikacji. W pliku application.properties umieściłem: 

server.port = 8080
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/mojabaza
spring.datasource.username=tutorial
spring.datasource.password=password

 

W klasie PersonService chciałbym żeby był  zapisywany obiekt (najprostszy, jedno pole z Stringiem i jedno z id [GeneratedValue]).

private  EntityManagerFactory entityManagerFactory;
    private EntityManager entityManager;
                ...
public Person addPerson() {
        Person person = new Person();
        person.setName("Jan");
        entityManager.getTransaction().begin();
        entityManager.persist(person);
        entityManager.getTransaction().commit();
        return person;
    }

Nigdzie nie przypisuję nic do entityManagerFactory i entityManager. Myślałem, żeby w konstruktorze stworzyć EMF i EM, ale nie wiem jak. Wywołuję to w PersonCoontroller. Wiem, że najprawdopodobniej błąd leży że nie została stworzony EntityManager i EntityManagerFactory, tylko nie wiem jak je stworzyć. Program się kompiluje, ale błąd wywala ("java.lang.NullPointerException") przy wysyłaniu requesta wywołującego tą metodę.

komentarz 27 lipca 2017 przez Mateusz51 Nałogowiec (28,180 p.)
Powinno zadziałać coś takiego

    @PersistenceContext
    EntityManager entityManager;

A jak chcesz aby metoda była transakcyjna to dodaj nad nią adnotacje @Transactional wtedy nie muszisz bawic sie w begin i commit

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 1,709 wizyt
pytanie zadane 10 lutego 2017 w Rozwój zawodowy, nauka, praca przez Aisekai Nałogowiec (42,190 p.)
0 głosów
1 odpowiedź 1,800 wizyt
pytanie zadane 10 grudnia 2015 w Inne języki przez thehespe Użytkownik (590 p.)
0 głosów
2 odpowiedzi 707 wizyt
pytanie zadane 30 kwietnia 2018 w Rozwój zawodowy, nauka, praca przez weiss Nowicjusz (120 p.)

93,394 zapytań

142,387 odpowiedzi

322,550 komentarzy

62,752 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...