public abstract class org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery<T> implements org.hibernate.query.criteria.internal.compile.CompilableCriteria, javax.persistence.criteria.CommonAbstractCriteria
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery
  super_class: java.lang.Object
{
  private final org.hibernate.query.criteria.internal.CriteriaBuilderImpl criteriaBuilder;
    descriptor: Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.hibernate.query.criteria.internal.path.RootImpl<T> root;
    descriptor: Lorg/hibernate/query/criteria/internal/path/RootImpl;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/hibernate/query/criteria/internal/path/RootImpl<TT;>;

  private javax.persistence.criteria.Predicate restriction;
    descriptor: Ljavax/persistence/criteria/Predicate;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<javax.persistence.criteria.Subquery<?>> subQueries;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljavax/persistence/criteria/Subquery<*>;>;

  protected void <init>(org.hibernate.query.criteria.internal.CriteriaBuilderImpl);
    descriptor: (Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
        start local 1 // org.hibernate.query.criteria.internal.CriteriaBuilderImpl criteriaBuilder
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 43
            aload 0 /* this */
            aload 1 /* criteriaBuilder */
            putfield org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.criteriaBuilder:Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
         2: .line 44
            return
        end local 1 // org.hibernate.query.criteria.internal.CriteriaBuilderImpl criteriaBuilder
        end local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/hibernate/query/criteria/internal/AbstractManipulationCriteriaQuery<TT;>;
            0    3     1  criteriaBuilder  Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
    MethodParameters:
                 Name  Flags
      criteriaBuilder  

  protected org.hibernate.query.criteria.internal.CriteriaBuilderImpl criteriaBuilder();
    descriptor: ()Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
         0: .line 47
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.criteriaBuilder:Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
            areturn
        end local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/query/criteria/internal/AbstractManipulationCriteriaQuery<TT;>;

  public javax.persistence.criteria.Root from(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljavax/persistence/criteria/Root;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
        start local 1 // java.lang.Class entityClass
         0: .line 54
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.criteriaBuilder:Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
            invokevirtual org.hibernate.query.criteria.internal.CriteriaBuilderImpl.getEntityManagerFactory:()Lorg/hibernate/internal/SessionFactoryImpl;
         1: .line 55
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
         2: .line 56
            aload 1 /* entityClass */
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.entity:(Ljava/lang/Class;)Ljavax/persistence/metamodel/EntityType;
         3: .line 54
            astore 2 /* entityType */
        start local 2 // javax.persistence.metamodel.EntityType entityType
         4: .line 57
            aload 2 /* entityType */
            ifnonnull 6
         5: .line 58
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* entityClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is not an entity"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 60
      StackMap locals: javax.persistence.metamodel.EntityType
      StackMap stack:
            aload 0 /* this */
            aload 2 /* entityType */
            invokevirtual org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.from:(Ljavax/persistence/metamodel/EntityType;)Ljavax/persistence/criteria/Root;
            areturn
        end local 2 // javax.persistence.metamodel.EntityType entityType
        end local 1 // java.lang.Class entityClass
        end local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/hibernate/query/criteria/internal/AbstractManipulationCriteriaQuery<TT;>;
            0    7     1  entityClass  Ljava/lang/Class<TT;>;
            4    7     2   entityType  Ljavax/persistence/metamodel/EntityType<TT;>;
    Signature: (Ljava/lang/Class<TT;>;)Ljavax/persistence/criteria/Root;
    MethodParameters:
             Name  Flags
      entityClass  

  public javax.persistence.criteria.Root<T> from(javax.persistence.metamodel.EntityType<T>);
    descriptor: (Ljavax/persistence/metamodel/EntityType;)Ljavax/persistence/criteria/Root;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
        start local 1 // javax.persistence.metamodel.EntityType entityType
         0: .line 64
            aload 0 /* this */
            new org.hibernate.query.criteria.internal.path.RootImpl
            dup
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.criteriaBuilder:Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
            aload 1 /* entityType */
            iconst_0
            invokespecial org.hibernate.query.criteria.internal.path.RootImpl.<init>:(Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljavax/persistence/metamodel/EntityType;Z)V
            putfield org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.root:Lorg/hibernate/query/criteria/internal/path/RootImpl;
         1: .line 65
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.root:Lorg/hibernate/query/criteria/internal/path/RootImpl;
            areturn
        end local 1 // javax.persistence.metamodel.EntityType entityType
        end local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/query/criteria/internal/AbstractManipulationCriteriaQuery<TT;>;
            0    2     1  entityType  Ljavax/persistence/metamodel/EntityType<TT;>;
    Signature: (Ljavax/persistence/metamodel/EntityType<TT;>;)Ljavax/persistence/criteria/Root<TT;>;
    MethodParameters:
            Name  Flags
      entityType  

  public javax.persistence.criteria.Root<T> getRoot();
    descriptor: ()Ljavax/persistence/criteria/Root;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
         0: .line 69
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.root:Lorg/hibernate/query/criteria/internal/path/RootImpl;
            areturn
        end local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/query/criteria/internal/AbstractManipulationCriteriaQuery<TT;>;
    Signature: ()Ljavax/persistence/criteria/Root<TT;>;

  protected void setRestriction(javax.persistence.criteria.Expression<java.lang.Boolean>);
    descriptor: (Ljavax/persistence/criteria/Expression;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
        start local 1 // javax.persistence.criteria.Expression restriction
         0: .line 76
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.criteriaBuilder:Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
            aload 1 /* restriction */
            invokevirtual org.hibernate.query.criteria.internal.CriteriaBuilderImpl.wrap:(Ljavax/persistence/criteria/Expression;)Ljavax/persistence/criteria/Predicate;
            putfield org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.restriction:Ljavax/persistence/criteria/Predicate;
         1: .line 77
            return
        end local 1 // javax.persistence.criteria.Expression restriction
        end local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/hibernate/query/criteria/internal/AbstractManipulationCriteriaQuery<TT;>;
            0    2     1  restriction  Ljavax/persistence/criteria/Expression<Ljava/lang/Boolean;>;
    Signature: (Ljavax/persistence/criteria/Expression<Ljava/lang/Boolean;>;)V
    MethodParameters:
             Name  Flags
      restriction  

  public void setRestriction(javax.persistence.criteria.Predicate[]);
    descriptor: ([Ljavax/persistence/criteria/Predicate;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
        start local 1 // javax.persistence.criteria.Predicate[] restrictions
         0: .line 80
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.criteriaBuilder:Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
            aload 1 /* restrictions */
            invokevirtual org.hibernate.query.criteria.internal.CriteriaBuilderImpl.and:([Ljavax/persistence/criteria/Predicate;)Ljavax/persistence/criteria/Predicate;
            putfield org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.restriction:Ljavax/persistence/criteria/Predicate;
         1: .line 81
            return
        end local 1 // javax.persistence.criteria.Predicate[] restrictions
        end local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/hibernate/query/criteria/internal/AbstractManipulationCriteriaQuery<TT;>;
            0    2     1  restrictions  [Ljavax/persistence/criteria/Predicate;
    MethodParameters:
              Name  Flags
      restrictions  

  public javax.persistence.criteria.Predicate getRestriction();
    descriptor: ()Ljavax/persistence/criteria/Predicate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
         0: .line 84
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.restriction:Ljavax/persistence/criteria/Predicate;
            areturn
        end local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/query/criteria/internal/AbstractManipulationCriteriaQuery<TT;>;

  public <U> javax.persistence.criteria.Subquery<U> subquery(java.lang.Class<U>);
    descriptor: (Ljava/lang/Class;)Ljavax/persistence/criteria/Subquery;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
        start local 1 // java.lang.Class type
         0: .line 88
            new org.hibernate.query.criteria.internal.CriteriaSubqueryImpl
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.criteriaBuilder:()Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
            aload 1 /* type */
            aload 0 /* this */
            invokespecial org.hibernate.query.criteria.internal.CriteriaSubqueryImpl.<init>:(Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Class;Ljavax/persistence/criteria/CommonAbstractCriteria;)V
            areturn
        end local 1 // java.lang.Class type
        end local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/query/criteria/internal/AbstractManipulationCriteriaQuery<TT;>;
            0    1     1  type  Ljava/lang/Class<TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/lang/Class<TU;>;)Ljavax/persistence/criteria/Subquery<TU;>;
    MethodParameters:
      Name  Flags
      type  

  public void validate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
         0: .line 95
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.root:Lorg/hibernate/query/criteria/internal/path/RootImpl;
            ifnonnull 2
         1: .line 96
            new java.lang.IllegalStateException
            dup
            ldc "UPDATE/DELETE criteria must name root entity"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 98
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/query/criteria/internal/AbstractManipulationCriteriaQuery<TT;>;

  public org.hibernate.query.criteria.internal.compile.CriteriaInterpretation interpret(org.hibernate.query.criteria.internal.compile.RenderingContext);
    descriptor: (Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Lorg/hibernate/query/criteria/internal/compile/CriteriaInterpretation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
        start local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
         0: .line 102
            aload 0 /* this */
            aload 1 /* renderingContext */
            invokevirtual org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.renderQuery:(Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
            astore 2 /* jpaqlString */
        start local 2 // java.lang.String jpaqlString
         1: .line 103
            new org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery$1
            dup
            aload 0 /* this */
            aload 2 /* jpaqlString */
            invokespecial org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery$1.<init>:(Lorg/hibernate/query/criteria/internal/AbstractManipulationCriteriaQuery;Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String jpaqlString
        end local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
        end local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/hibernate/query/criteria/internal/AbstractManipulationCriteriaQuery<TT;>;
            0    2     1  renderingContext  Lorg/hibernate/query/criteria/internal/compile/RenderingContext;
            1    2     2       jpaqlString  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      renderingContext  

  protected abstract java.lang.String renderQuery(org.hibernate.query.criteria.internal.compile.RenderingContext);
    descriptor: (Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                  Name  Flags
      renderingContext  

  protected void renderRoot(java.lang.StringBuilder, org.hibernate.query.criteria.internal.compile.RenderingContext);
    descriptor: (Ljava/lang/StringBuilder;Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
        start local 1 // java.lang.StringBuilder jpaql
        start local 2 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
         0: .line 154
            aload 1 /* jpaql */
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.root:Lorg/hibernate/query/criteria/internal/path/RootImpl;
            aload 2 /* renderingContext */
            invokeinterface org.hibernate.query.criteria.internal.FromImplementor.renderTableExpression:(Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 155
            return
        end local 2 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
        end local 1 // java.lang.StringBuilder jpaql
        end local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/hibernate/query/criteria/internal/AbstractManipulationCriteriaQuery<TT;>;
            0    2     1             jpaql  Ljava/lang/StringBuilder;
            0    2     2  renderingContext  Lorg/hibernate/query/criteria/internal/compile/RenderingContext;
    MethodParameters:
                  Name  Flags
      jpaql             
      renderingContext  

  protected void renderRestrictions(java.lang.StringBuilder, org.hibernate.query.criteria.internal.compile.RenderingContext);
    descriptor: (Ljava/lang/StringBuilder;Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
        start local 1 // java.lang.StringBuilder jpaql
        start local 2 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
         0: .line 158
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.getRestriction:()Ljavax/persistence/criteria/Predicate;
            ifnull 3
         1: .line 159
            aload 1 /* jpaql */
            ldc " where "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 160
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery.getRestriction:()Ljavax/persistence/criteria/Predicate;
            checkcast org.hibernate.query.criteria.internal.Renderable
            aload 2 /* renderingContext */
            invokeinterface org.hibernate.query.criteria.internal.Renderable.render:(Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 162
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
        end local 1 // java.lang.StringBuilder jpaql
        end local 0 // org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/hibernate/query/criteria/internal/AbstractManipulationCriteriaQuery<TT;>;
            0    4     1             jpaql  Ljava/lang/StringBuilder;
            0    4     2  renderingContext  Lorg/hibernate/query/criteria/internal/compile/RenderingContext;
    MethodParameters:
                  Name  Flags
      jpaql             
      renderingContext  
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lorg/hibernate/query/criteria/internal/compile/CompilableCriteria;Ljavax/persistence/criteria/CommonAbstractCriteria;
SourceFile: "AbstractManipulationCriteriaQuery.java"
NestMembers:
  org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery$1  org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery$1$1
InnerClasses:
  org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery$1