private String createInsert() {
        StringBuilder sb = new StringBuilder();

        sb.append( "\n" );
        sb.append( TAB + "<insert id=\"create\" parameterType=\"" + table.getPackage() + ".domain."
                + table.getDomName() + "\">\n" );

        // if the 1st column does not have: sequence disabled, and (string and
        // key)

        if ( !table.getColumn( 0 ).isSequenceDisabled()
                && ( !( table.getColumn( 0 ).getFldType().equalsIgnoreCase( "string" ) && table.getColumn( 0 ).isKey() ) ) ) {
            sb.append( TAB + TAB + "<selectKey resultType=\"_" + table.getColumn( 0 ).getFldType().toLowerCase()
                    + "\" keyProperty=\"" + table.getColumn( 0 ).getFldName() + "\" order=\"BEFORE\">\n" );
            switch ( databaseType ) {
            case H2:
            case ORACLE:
                sb.append( TAB );
                sb.append( TAB );
                sb.append( TAB );
                sb.append( "select " );
                sb.append( table.getTableName().toUpperCase() );
                sb.append( "_SEQ.nextval from dual\n" );
            }

            sb.append( TAB + TAB + "</selectKey>\n" );

        }

        sb.append( TAB + TAB + "insert into " + table.getTableName().toUpperCase() + "\n" );
        sb.append( TAB + TAB + "(\n" );
        sb.append( TAB + TAB + TAB + getVariablesList() + "\n" + TAB + TAB + ")\n" + TAB + TAB + "values\n" + TAB + TAB
                + "(\n" );
        sb.append( TAB + TAB + TAB + getjavaList() + "\n" );
        sb.append( TAB + TAB + ")\n" );
        sb.append( TAB + "</insert>\n" );

        return sb.toString();
    }