public void saveOrUpdate()

in serverless-workflow-examples/serverless-workflow-qas-service-showcase/query-answer-service/src/main/java/org/acme/PostgreSqlQueryRecordRepository.java [78:100]


    public void saveOrUpdate(QueryRecord queryRecord) {
        try (Connection connection = dataSource.getConnection();
                PreparedStatement st = connection.prepareStatement("INSERT INTO " + QUERY_RECORD_TABLE + " (" + QUERY_RECORD_COLUMNS + ") " +
                        " VALUES (?, ?, ?, ?, ?, ?) " +
                        "ON CONFLICT (processinstanceid) DO " +
                        "UPDATE SET query = ?, created = ?, status = ?, answer = ?, lastmodified = ?")) {
            st.setString(1, queryRecord.getProcessInstanceId());
            st.setString(2, queryRecord.getQuery());
            st.setObject(3, queryRecord.getCreated().toLocalDateTime());
            st.setString(4, queryRecord.getStatus());
            st.setString(5, queryRecord.getAnswer());
            st.setObject(6, queryRecord.getLastModified().toLocalDateTime());
            st.setString(7, queryRecord.getQuery());
            st.setObject(8, queryRecord.getCreated().toLocalDateTime());
            st.setString(9, queryRecord.getStatus());
            st.setString(10, queryRecord.getAnswer());
            st.setObject(11, queryRecord.getLastModified().toLocalDateTime());
            st.executeUpdate();
        } catch (Exception e) {
            throw new QueryAnswerServiceException("An error was produced during " + QUERY_RECORD_TABLE + " update: " + e.getMessage(), e);
        }

    }