Spring JPA не сохраняется в базе данных PostgresJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Spring JPA не сохраняется в базе данных Postgres

Сообщение Anonymous »

Я пытаюсь настроить систему для извлечения данных из базы данных Neo4J и отправки их в базу данных Postgres. Соединение с базой данных Neo4J установлено давно, а соединение Postgres новое. Я могу легко получить данные из базы данных Postgres, однако при вызове save или saveAll я не вижу, чтобы на самом деле обновления были отправлены. Мой (очень простой) класс обслуживания приведен ниже:

Код: Выделить всё

public class RCAWorkflowService {

private final RCAWorkflowRepository rcaWorkflowRepository;
private final Neo4jClient neo4jClient;

public Iterable findAll() {
return rcaWorkflowRepository.findAll();
}

public void pushWorkflows() {
var rcaWorkflows = neo4jClient.query("""{{CYPHER CODE TO PULL ENTITIES}}""")
.fetchAs(RCAWorkflow.class)
.mappedBy(RCAWorkflow::map)
.all();
rcaWorkflowRepository.saveAll(rcaWorkflows);
}

public void createWorkflow(String workflowId, String appId) {
var wf = new RCAWorkflow(
UUID.randomUUID(),
workflowId,
"localhost",
"1.0",
appId,
"json!",
new Date()
);
rcaWorkflowRepository.save(wf);
}

}
Конфигурация соединения Postgres следующая:

Код: Выделить всё

@Configuration
@EnableJpaRepositories(basePackages = "package")
public class RCAPostgresConfig {

@Bean
public DataSource rcaDataSource() {
var dataSource = new DriverManagerDataSource();
dataSource.setUrl("url");
dataSource.setUsername("username");
dataSource.setPassword("password");

return dataSource;
}

@Primary
@Bean(name = "entityManagerFactory")
public LocalContainerEntityManagerFactoryBean rcaEntityManager() {
var em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(rcaDataSource());
em.setPackagesToScan("package");
em.setJpaVendorAdapter(new HibernateJpaVendorAdapter());

var properties = Map.of(
"hibernate.hbm2ddl.auto", "none",
"hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect",
"hibernate.show-sql", "true"
);
em.setJpaPropertyMap(properties);

return em;
}

@Bean
public PlatformTransactionManager rcaTransactionManager() {
var transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(rcaEntityManager().getObject());
return transactionManager;
}

}
Класс репозитория не представляет собой ничего особенного — просто интерфейс, расширяющий JpaRepository и ничего больше.
Есть идеи, почему это так может получить данные через findAll, но ни один из моих методов передачи данных в базу данных не работает? Никаких исключений не создается, я даже пробовал просто добавить блок try/catch на случай, если он поймает что-то, но все равно ничего. Он просто молча не сохраняет никаких объектов.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ostgres-db
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»