code: public void initialize() throws SQLException {
  		if (!Boolean.parseBoolean(System.getProperty(AUTO_CREATE_TABLES))) {
  			return;
  		}
  
  		if (configuredDaos == null) {
  			throw new SQLException("configuredDaos was not set in " + getClass().getSimpleName());
  		}
  
  		// find all of the daos and create the tables
  		for (Dao<?, ?> dao : configuredDaos) {
  			Class<?> clazz = dao.getDataClass();
  			try {
  				DatabaseTableConfig<?> tableConfig = null;
  				if (dao instanceof BaseDaoImpl) {
  					tableConfig = ((BaseDaoImpl<?, ?>) dao).getTableConfig();
  				}
  				if (tableConfig == null) {
  					tableConfig = DatabaseTableConfig.fromClass(connectionSource.getDatabaseType(), clazz);
  				}
  				TableUtils.createTable(connectionSource, tableConfig);
  				createdClasses.add(tableConfig);
  			} catch (Exception e) {
  				// we don't stop because the table might already exist
  				System.err.println("Was unable to auto-create table for " + clazz);
  				e.printStackTrace();
  			}
  		}
  	}
docs: If you are using the Spring type wiring, this should be called after all of the set methods.