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ę.