public void saveOrUpdateCodeSet(CodeSet codeset) { if (codeset.getCodeSetId() == -1L) { long codeSetId = getNextId(sequencerName); codeset.setCodeSetId(codeSetId); getJdbcTemplate() .update( getBoundSql("COMPETENCY_ACCESSMENT.INSERT_CODESET").getSql(), new SqlParameterValue(Types.NUMERIC, codeset.getCodeSetId()), new SqlParameterValue(Types.NUMERIC, codeset.getObjectType()), new SqlParameterValue(Types.NUMERIC, codeset.getObjectId()), new SqlParameterValue(Types.NUMERIC, codeset.getParentCodeSetId()), new SqlParameterValue(Types.VARCHAR, codeset.getName()), new SqlParameterValue(Types.VARCHAR, codeset.getGroupCode()), new SqlParameterValue(Types.VARCHAR, codeset.getCode()), new SqlParameterValue(Types.VARCHAR, codeset.getDescription()), new SqlParameterValue(Types.TIMESTAMP, codeset.getCreationDate()), new SqlParameterValue(Types.TIMESTAMP, codeset.getModifiedDate())); if (codeset.getProperties().size() > 0) { setCodesetProperties(codeset.getCodeSetId(), codeset.getProperties()); } } else { getJdbcTemplate() .update( getBoundSql("COMPETENCY_ACCESSMENT.UPDATE_CODESET").getSql(), new SqlParameterValue(Types.NUMERIC, codeset.getParentCodeSetId()), new SqlParameterValue(Types.VARCHAR, codeset.getName()), new SqlParameterValue(Types.VARCHAR, codeset.getGroupCode()), new SqlParameterValue(Types.VARCHAR, codeset.getCode()), new SqlParameterValue(Types.VARCHAR, codeset.getDescription()), new SqlParameterValue(Types.TIMESTAMP, codeset.getModifiedDate()), new SqlParameterValue(Types.NUMERIC, codeset.getCodeSetId())); deleteCodesetProperties(codeset.getCodeSetId()); setCodesetProperties(codeset.getCodeSetId(), codeset.getProperties()); } }
public void saveOrUpdateCodeSet(List<CodeSet> codesets) { List<CodeSet> updates = new ArrayList<CodeSet>(); List<CodeSet> inserts = new ArrayList<CodeSet>(); for (CodeSet codeSet : codesets) { if (codeSet.getCodeSetId() < 1) { long codeSetId = getNextId(sequencerName); codeSet.setCodeSetId(codeSetId); inserts.add(codeSet); } else { updates.add(codeSet); } } batchUpdateCodeSet(updates); batchInsertCodeSet(inserts); }