From c3521f4415d5b2f722a25731d5f77be82767e118 Mon Sep 17 00:00:00 2001 From: Dominic Rogetzer Date: Sat, 5 May 2018 15:58:28 +0200 Subject: Fix EmployeeDatabaseDao.add: additionally insert employee (not only employeeVersion) and return correct id --- .../einsatzverwaltung/dao/EmployeeDatabaseDao.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/main/java/at/ac') diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDao.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDao.java index fc9a549..900fd0e 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDao.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDao.java @@ -55,9 +55,17 @@ public class EmployeeDatabaseDao implements EmployeeDAO { insertEmployeeVersion.setBoolean(4, employee.isDriver()); insertEmployeeVersion.setBoolean(5, employee.isPilot()); insertEmployeeVersion.executeUpdate(); - ResultSet rs = insertEmployeeVersion.getGeneratedKeys(); - if (rs.next()) { - return rs.getLong(1); + ResultSet resultSetEmployeeVersion = insertEmployeeVersion.getGeneratedKeys(); + if (resultSetEmployeeVersion.next()) { + long versionId = resultSetEmployeeVersion.getLong(1); + + insertEmployee.setLong(1, versionId); + insertEmployee.executeUpdate(); + + ResultSet resultSetEmployee = insertEmployee.getGeneratedKeys(); + if (resultSetEmployee.next()) { + return resultSetEmployee.getLong(1); + } } throw new PersistenceException("Employee was not created"); -- cgit v1.2.3-70-g09d2