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

Podpinanie MYSQL do Springa.

VPS Starter Arubacloud
0 głosów
116 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,639 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,760 wizyt
pytanie zadane 10 grudnia 2015 w Inne języki przez thehespe Użytkownik (590 p.)
0 głosów
2 odpowiedzi 577 wizyt
pytanie zadane 30 kwietnia 2018 w Rozwój zawodowy, nauka, praca przez weiss Nowicjusz (120 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...