/** * @param newBean * @param serviceCatalog * @param ormSession */ public UpdateQueryImpl(final List<BEAN> beans, final Class<BEAN> clazz, final ClassTool<BEAN> ormClassTool, final SqlCache sqlCache, final SqlExecutor sqlExecutor, final DBProfile dbType) { this.beans = beans; this.clazz = clazz; this.ormClassTool = ormClassTool; this.sqlCache = sqlCache; this.sqlExecutor = sqlExecutor; this.dbType = dbType; pkAndVersionFieldNames = ormClassTool.getDescriptor().getPrimaryKeyAndVersionColumnJavaNames(); notPksFieldNames = ormClassTool.getDescriptor().getNotPrimaryKeyColumnJavaNames(); }
/** * @param newBean * @param serviceCatalog * @param ormSession */ public UpdateQueryImpl(final Stream<BEAN> beans, Class<BEAN> clazz, final ServiceCatalog serviceCatalog) { this.beans = beans; this.serviceCatalog = serviceCatalog; this.clazz = clazz; ormClassTool = serviceCatalog.getClassToolMap().get(clazz); persistor = ormClassTool.getPersistor(); pkAndVersionFieldNames = ormClassTool.getDescriptor().getPrimaryKeyAndVersionColumnJavaNames(); notPksFieldNames = ormClassTool.getDescriptor().getNotPrimaryKeyColumnJavaNames(); }
@Override public String update(final Class<?> clazz) { return update.computeIfAbsent(clazz, key -> { final ClassDescriptor<?> descriptor = classToolMap.get(clazz).getDescriptor(); final String[] pkAndVersionFieldNames = descriptor.getPrimaryKeyAndVersionColumnJavaNames(); final String[] notPksFieldNames = descriptor.getNotPrimaryKeyColumnJavaNames(); final Update update = sqlFactory.update(clazz); final UpdateWhere updateQueryWhere = update.where(); for (final String pkAndVersionFieldName : pkAndVersionFieldNames) { updateQueryWhere.eq(pkAndVersionFieldName, ""); } for (final String notPksFieldName : notPksFieldNames) { update.set(notPksFieldName, ""); } return update.sqlQuery(); }); }