private String columnToCommaSepareted(List<String> columnNames, boolean ignoreGenerators) { final StringBuilder builder = new StringBuilder(); final int length = columnNames.size(); if (length > 0) { for (int i=0; i<(length-1) ; i++) { final AColumnValueGenerator columnValueGenerator = classMapper.getTableMap().getGeneratorByColumnName(columnNames.get(i), ignoreGenerators); final String queryParameter = columnValueGenerator.insertColumn(dialect, columnNames.get(i)); if (queryParameter.length()>0) { builder.append( queryParameter ); builder.append(", "); } } final AColumnValueGenerator columnValueGenerator = classMapper.getTableMap().getGeneratorByColumnName(columnNames.get(length-1), ignoreGenerators); builder.append( columnValueGenerator.insertColumn(dialect, columnNames.get(length-1)) ); } return builder.toString(); }
private String questionCommaSepareted(IClassMapper<T> classMapper, List<String> columnNames, boolean ignoreGenerators) { final StringBuilder builder = new StringBuilder(); final int length = columnNames.size(); if (length > 0) { for (int i=0; i<(length-1) ; i++) { final AColumnValueGenerator columnValueGenerator = classMapper.getTableMap().getGeneratorByColumnName(columnNames.get(i), ignoreGenerators); generatedKey = generatedKey || columnValueGenerator.isAutoGenerated(); final String queryParameter = columnValueGenerator.insertQueryParameter(dialect, "?"); if (queryParameter.length()>0) { builder.append( queryParameter ); builder.append(", "); } } final AColumnValueGenerator columnValueGenerator = classMapper.getTableMap().getGeneratorByColumnName(columnNames.get(length-1), ignoreGenerators); generatedKey = generatedKey || columnValueGenerator.isAutoGenerated(); builder.append( columnValueGenerator.insertQueryParameter(dialect, "?") ); } return builder.toString(); }
private void verifyAnnotationGenerator(Generator generator, StringBuffer columnName, GenericWrapper<AColumnValueGenerator> columnValueGeneratorWrapper, Field field, TableMap<T> tableMap) { if (generator!=null) { final AColumnValueGenerator columnValueGenerator = ColumnValueGeneratorFactory.generator(generator.generatorType(), generator.name()); if (tableMap.hasGeneratedField()) { throw new OrmConfigurationException("A bean can have maximum one field annotated with @" + Generator.class.getSimpleName() + ". Error in class:[" + clazz.getCanonicalName() + "] field: [" + field.getName() + "]"); } tableMap.setHasGeneratedField(true); columnValueGenerator.setCacheSize(generator.getCacheSize()); columnValueGenerator.setActivateValues(generator.ifValueIn()); columnValueGenerator.setGeneratedColumnName(columnName.toString()); columnValueGeneratorWrapper.setValue(columnValueGenerator); } }
logger.info("initializeColumnNames", "Field [" + javaFieldName + "] will be used as a normal field"); if (tableMap.getGeneratorByJavaFieldName(javaFieldName).isAutoGenerated()) { allGeneratedColumnJavaNamesList.add(javaFieldName); allGeneratedColumnDBNamesList.add(entry.getValue().getName());
private void initGeneratorManipulator() throws OrmConfigurationException, SecurityException, NoSuchMethodException { if (this.classMapper.getTableMap().hasGeneratedField()) { final String javaColumnName = this.classMapper.getAllGeneratedColumnJavaNames()[0]; final IColumn column = this.classMapper.getColumnWithJavaName(javaColumnName); final FieldManipulator fieldManipulator = this.manipulators.get(javaColumnName); final AColumnValueGenerator generator = this.classMapper.getTableMap().getGeneratorByJavaFieldName(javaColumnName); final long[] validValues = generator.getActivateValues(); this.generatorManipulator = new ReflectionManipulatorFactory(this.resultSetMethodHelper).getGeneratorManipulator(column, fieldManipulator, validValues); } }