
com.jfirer.jsql.curd.impl.OracleCurdInfo Maven / Gradle / Ivy
package com.jfirer.jsql.curd.impl;
import com.jfirer.jsql.annotation.pkstrategy.Sequence;
import com.jfirer.jsql.metadata.TableEntityInfo;
import java.lang.reflect.Field;
import java.util.LinkedList;
import java.util.List;
public class OracleCurdInfo extends AbstractCurdInfo
{
public OracleCurdInfo(Class ckass)
{
super(ckass);
}
@Override
protected void generateNative(TableEntityInfo tableEntityInfo)
{
Field pkField = tableEntityInfo.getPkInfo().getField();
if (Number.class.isAssignableFrom(pkField.getType()) && pkField.isAnnotationPresent(Sequence.class))
{
List list = new LinkedList();
StringBuilder cache = new StringBuilder();
cache.append("insert into ").append(tableEntityInfo.getTableName()).append("(");
cache.append(tableEntityInfo.getPkInfo().getColumnName()).append(',');
concatNonPkColumnNames(tableEntityInfo, pkField, cache, list);
cache.setLength(cache.length() - 1);
cache.append(") values (").append(pkField.getAnnotation(Sequence.class).value()).append(".NEXTVAL,");
int size = list.size();
for (int i = 0; i < size; i++)
{
cache.append("?,");
}
cache.setLength(cache.length() - 1);
cache.append(")");
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy