0
Я следующий файл конфигурации для загрузки Spring application.properties
:Spring загрузки и EntityManager на основе application.properties
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=postgres
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
spring.jpa.show-sql = true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto = update
spring.jpa.database=POSTGRESQL
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQL82Dialect
Он прекрасно обрабатывается весной ddl-auto
создает таблицы для меня. Я ожидаю, что достаточно информации для создания EntityManager
из этого 'DataSource'.
я узнал, что один из способов создания EntityManager
является:
EntityManagerFactory emfactory = Persistence.createEntityManagerFactory("DataSorceGoesHere");
EntityManager entitymanager = emfactory.createEntityManager();
Вопросов:
- Что такое имя моего источника данных сконфигурировано в
application.properties
? - Есть ли какие-либо возможности для инъекций
EntityManager
на основеapplication.properties
?
Вы можете впрыснуть 'EntityManagerFactory' непосредственно. Это известно о вашем источнике даты, поэтому на самом деле требуется только вторая строка. –
@StephaneNicoll, не могли бы вы расширить свой вопрос. Я не могу '@Autowire EntityManagerFactory' контекст не имеет соответствующего интерфейса для автопостановки. Что вы подразумеваете под «инъекцией»? –
Я вижу, это моя IDE не узнает. Все хорошо, спасибо! –