<commit_before><?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
  "-//Hibernate/Hibernate Mapping DTD//EN"
  "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping default-lazy="false">
  <class name="org.sakaiproject.tool.assessment.data.dao.assessment.ItemData" table="SAM_ITEM_T">
    <id name="itemId" column="ITEMID" type="java.lang.Long" unsaved-value="0">
      <generator class="native">
        <param name="sequence">SAM_ITEM_ID_S</param>
      </generator>
    </id>
    <many-to-one name="section"
      class="org.sakaiproject.tool.assessment.data.dao.assessment.SectionData"
      column="SECTIONID" index="SAM_ITEM_SECTIONID_I"/>
    <property name="itemIdString" type="string" length="255" column="ITEMIDSTRING" not-null="false" />
    <property name="sequence" type="integer" column="SEQUENCE" not-null="false" />
    <property name="duration" type="integer" column="DURATION" not-null="false" />
    <property name="triesAllowed" type="integer" column="TRIESALLOWED" not-null="false" />
    <property name="instruction" type="materialized_clob" column="INSTRUCTION" not-null="false" />
    <property name="description" type="string" length="4000" column="DESCRIPTION" not-null="false" />
    <property name="typeId" type="long" column="TYPEID" not-null="true" />
    <property name="grade" type="string" length="80" column="GRADE" not-null="false" />
    <property name="score" type="double" column="SCORE" not-null="false" />
    <property name="partialCreditFlag" type="boolean" column="PARTIAL_CREDIT_FLAG" not-null="false"/>
    <property name="discount" type="double" column="DISCOUNT" not-null="false" />
    <property name="hint" type="string" length="4000" column="HINT" not-null="false" />
    <property name="hasRationale" type="boolean" column="HASRATIONALE" not-null="false" />
    <property name="status" type="integer" column="STATUS" not-null="true" />
    <property name="createdBy" type="string" length="255" column="CREATEDBY" not-null="true" />
    <property name="createdDate" type="timestamp" column="CREATEDDATE" not-null="true" />
    <property name="lastModifiedBy" type="string" length="255" column="LASTMODIFIEDBY" not-null="true" />
    <property name="lastModifiedDate" type="timestamp" column="LASTMODIFIEDDATE" not-null="true" />

<!--
    <property name="typeId">
      <column name="TYPEID" not-null="true" sql-type="varchar(36)" />
    </property>
    <property name="hasRationale">
      <column name="HASRATIONALE" not-null="false" sql-type="varchar(1)" />
    </property>
-->

    <set name="itemTextSet" table="SAM_ITEMTEXT_T" cascade="all" order-by="sequence asc" inverse="true" lazy="false">
       <key column="ITEMID"/>
       <one-to-many class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemText"/>
    </set>
    <set name="itemMetaDataSet" table="SAM_ITEMMETADATA_T" cascade="all" inverse="true" lazy="false">
       <key column="ITEMID"/>
       <one-to-many class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemMetaData"/>
    </set>
    <set name="itemFeedbackSet" table="SAM_ITEMFEEDBACK_T" cascade="all" inverse="true" lazy="false">
       <key column="ITEMID"/>
       <one-to-many class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemFeedback"/>
    </set>
    <set name="itemAttachmentSet" table="SAM_ATTACHMENT_T" cascade="all" order-by="createdDate asc" inverse="true" lazy="false">
       <key column="ITEMID"/>
       <one-to-many class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemAttachment"/>
    </set>
  </class>


  <class name="org.sakaiproject.tool.assessment.data.dao.assessment.ItemText" table="SAM_ITEMTEXT_T">
    <id name="id" column="ITEMTEXTID" type="java.lang.Long" unsaved-value="0">
      <generator class="native">
        <param name="sequence">SAM_ITEMTEXT_ID_S</param>
      </generator>
    </id>
    <many-to-one name="item" class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemData"
      column="ITEMID" not-null="true" index="SAM_ITEMTEXT_ITEMID_I" />
    <property name="sequence" type="long" column="SEQUENCE" not-null="true" />
<property name="text" type="materialized_clob" column="TEXT" not-null="false" />
    <set name="answerSet" table="SAM_ANSWER_T" cascade="all" inverse="true" lazy="false" order-by="sequence asc">
       <key column="ITEMTEXTID"/>
       <one-to-many class="org.sakaiproject.tool.assessment.data.dao.assessment.Answer"/>
    </set>
  </class>

  <class name="org.sakaiproject.tool.assessment.data.dao.assessment.ItemMetaData" table="SAM_ITEMMETADATA_T">
    <id name="id" column="ITEMMETADATAID" type="java.lang.Long" unsaved-value="0">
      <generator class="native">
        <param name="sequence">SAM_ITEMMETADATA_ID_S</param>
      </generator>
    </id>
    <many-to-one name="item" class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemData"
      column="ITEMID" not-null="true" index="SAM_ITEMMETADATA_ITEMID_I" />
    <property name="label" type="string" length="255" column="LABEL" not-null="true" />
    <property name="entry" type="string" length="255" column="ENTRY" not-null="false" />
  </class>

  <class name="org.sakaiproject.tool.assessment.data.dao.assessment.ItemFeedback" table="SAM_ITEMFEEDBACK_T">
    <id name="id" column="ITEMFEEDBACKID" type="java.lang.Long" unsaved-value="0">
      <generator class="native">
        <param name="sequence">SAM_ITEMFEEDBACK_ID_S</param>
      </generator>
    </id>
    <many-to-one name="item" class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemData"
      column="ITEMID" not-null="true" index="SAM_ITEMFEED_ITEMID_I" />
    <property name="typeId" type="string" length="255" column="TYPEID" not-null="true" />
    <property name="text" type="string" length="4000" column="TEXT" not-null="false" />
  </class>

  <class name="org.sakaiproject.tool.assessment.data.dao.assessment.Answer" table="SAM_ANSWER_T">
    <id name="id" column="ANSWERID" type="java.lang.Long" unsaved-value="0">
      <generator class="native">
        <param name="sequence">SAM_ANSWER_ID_S</param>
      </generator>
    </id>
    <many-to-one name="itemText" class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemText"
      column="ITEMTEXTID" not-null="true" index="SAM_ANSWER_ITEMTEXTID_I" />
    <many-to-one name="item" class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemData"
      column="ITEMID" not-null="true" />
    <property name="text" type="materialized_clob" column="TEXT" not-null="false" />
    <property name="sequence" type="long" column="SEQUENCE" not-null="true" />
    <property name="label" type="string" length="20" column="LABEL" not-null="false" />
    <property name="isCorrect" type="boolean" column="ISCORRECT" not-null="false" />
    <property name="grade" type="string" length="80" column="GRADE" not-null="false" />
    <property name="score" type="double" column="SCORE" not-null="false" />
    <property name="discount" type="double" column="DISCOUNT" not-null="false" />
    <property name="partialCredit" type="double" column="PARTIAL_CREDIT" not-null="false" />
    <set name="answerFeedbackSet" table="SAM_ANSWERFEEDBACK_T" cascade="all" inverse="true" lazy="false">
      <key column="ANSWERID" />
      <one-to-many class="org.sakaiproject.tool.assessment.data.dao.assessment.AnswerFeedback" />
    </set>
  </class>

  <class name="org.sakaiproject.tool.assessment.data.dao.assessment.AnswerFeedback" table="SAM_ANSWERFEEDBACK_T">
    <id name="id" column="ANSWERFEEDBACKID" type="java.lang.Long" unsaved-value="0">
      <generator class="native">
        <param name="sequence">SAM_ANSWERFEEDBACK_ID_S</param>
      </generator>
    </id><commit_msg>SAM-2199: For pending assessment, batch retrieve information from secondary tables like metadata, feedback, etc<commit_after><?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
  "-//Hibernate/Hibernate Mapping DTD//EN"
  "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping default-lazy="false">
  <class name="org.sakaiproject.tool.assessment.data.dao.assessment.ItemData" table="SAM_ITEM_T">
    <id name="itemId" column="ITEMID" type="java.lang.Long" unsaved-value="0">
      <generator class="native">
        <param name="sequence">SAM_ITEM_ID_S</param>
      </generator>
    </id>
    <many-to-one name="section"
      class="org.sakaiproject.tool.assessment.data.dao.assessment.SectionData"
      column="SECTIONID" index="SAM_ITEM_SECTIONID_I"/>
    <property name="itemIdString" type="string" length="255" column="ITEMIDSTRING" not-null="false" />
    <property name="sequence" type="integer" column="SEQUENCE" not-null="false" />
    <property name="duration" type="integer" column="DURATION" not-null="false" />
    <property name="triesAllowed" type="integer" column="TRIESALLOWED" not-null="false" />
    <property name="instruction" type="materialized_clob" column="INSTRUCTION" not-null="false" />
    <property name="description" type="string" length="4000" column="DESCRIPTION" not-null="false" />
    <property name="typeId" type="long" column="TYPEID" not-null="true" />
    <property name="grade" type="string" length="80" column="GRADE" not-null="false" />
    <property name="score" type="double" column="SCORE" not-null="false" />
    <property name="partialCreditFlag" type="boolean" column="PARTIAL_CREDIT_FLAG" not-null="false"/>
    <property name="discount" type="double" column="DISCOUNT" not-null="false" />
    <property name="hint" type="string" length="4000" column="HINT" not-null="false" />
    <property name="hasRationale" type="boolean" column="HASRATIONALE" not-null="false" />
    <property name="status" type="integer" column="STATUS" not-null="true" />
    <property name="createdBy" type="string" length="255" column="CREATEDBY" not-null="true" />
    <property name="createdDate" type="timestamp" column="CREATEDDATE" not-null="true" />
    <property name="lastModifiedBy" type="string" length="255" column="LASTMODIFIEDBY" not-null="true" />
    <property name="lastModifiedDate" type="timestamp" column="LASTMODIFIEDDATE" not-null="true" />

<!--
    <property name="typeId">
      <column name="TYPEID" not-null="true" sql-type="varchar(36)" />
    </property>
    <property name="hasRationale">
      <column name="HASRATIONALE" not-null="false" sql-type="varchar(1)" />
    </property>
-->

    <set name="itemTextSet" table="SAM_ITEMTEXT_T" cascade="all" order-by="sequence asc" inverse="true" lazy="false" batch-size="50">
       <key column="ITEMID"/>
       <one-to-many class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemText"/>
    </set>
    <set name="itemMetaDataSet" table="SAM_ITEMMETADATA_T" cascade="all" inverse="true" lazy="false" batch-size="50">
       <key column="ITEMID"/>
       <one-to-many class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemMetaData"/>
    </set>
    <set name="itemFeedbackSet" table="SAM_ITEMFEEDBACK_T" cascade="all" inverse="true" lazy="false" batch-size="50">
       <key column="ITEMID"/>
       <one-to-many class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemFeedback"/>
    </set>
    <set name="itemAttachmentSet" table="SAM_ATTACHMENT_T" cascade="all" order-by="createdDate asc" inverse="true" lazy="false" batch-size="50">
       <key column="ITEMID"/>
       <one-to-many class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemAttachment"/>
    </set>
  </class>


  <class name="org.sakaiproject.tool.assessment.data.dao.assessment.ItemText" table="SAM_ITEMTEXT_T">
    <id name="id" column="ITEMTEXTID" type="java.lang.Long" unsaved-value="0">
      <generator class="native">
        <param name="sequence">SAM_ITEMTEXT_ID_S</param>
      </generator>
    </id>
    <many-to-one name="item" class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemData"
      column="ITEMID" not-null="true" index="SAM_ITEMTEXT_ITEMID_I" />
    <property name="sequence" type="long" column="SEQUENCE" not-null="true" />
<property name="text" type="materialized_clob" column="TEXT" not-null="false" />
    <set name="answerSet" table="SAM_ANSWER_T" cascade="all" inverse="true" lazy="false" order-by="sequence asc" batch-size="50">
       <key column="ITEMTEXTID"/>
       <one-to-many class="org.sakaiproject.tool.assessment.data.dao.assessment.Answer"/>
    </set>
  </class>

  <class name="org.sakaiproject.tool.assessment.data.dao.assessment.ItemMetaData" table="SAM_ITEMMETADATA_T">
    <id name="id" column="ITEMMETADATAID" type="java.lang.Long" unsaved-value="0">
      <generator class="native">
        <param name="sequence">SAM_ITEMMETADATA_ID_S</param>
      </generator>
    </id>
    <many-to-one name="item" class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemData"
      column="ITEMID" not-null="true" index="SAM_ITEMMETADATA_ITEMID_I" />
    <property name="label" type="string" length="255" column="LABEL" not-null="true" />
    <property name="entry" type="string" length="255" column="ENTRY" not-null="false" />
  </class>

  <class name="org.sakaiproject.tool.assessment.data.dao.assessment.ItemFeedback" table="SAM_ITEMFEEDBACK_T">
    <id name="id" column="ITEMFEEDBACKID" type="java.lang.Long" unsaved-value="0">
      <generator class="native">
        <param name="sequence">SAM_ITEMFEEDBACK_ID_S</param>
      </generator>
    </id>
    <many-to-one name="item" class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemData"
      column="ITEMID" not-null="true" index="SAM_ITEMFEED_ITEMID_I" />
    <property name="typeId" type="string" length="255" column="TYPEID" not-null="true" />
    <property name="text" type="string" length="4000" column="TEXT" not-null="false" />
  </class>

  <class name="org.sakaiproject.tool.assessment.data.dao.assessment.Answer" table="SAM_ANSWER_T">
    <id name="id" column="ANSWERID" type="java.lang.Long" unsaved-value="0">
      <generator class="native">
        <param name="sequence">SAM_ANSWER_ID_S</param>
      </generator>
    </id>
    <many-to-one name="itemText" class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemText"
      column="ITEMTEXTID" not-null="true" index="SAM_ANSWER_ITEMTEXTID_I" />
    <many-to-one name="item" class="org.sakaiproject.tool.assessment.data.dao.assessment.ItemData"
      column="ITEMID" not-null="true" />
    <property name="text" type="materialized_clob" column="TEXT" not-null="false" />
    <property name="sequence" type="long" column="SEQUENCE" not-null="true" />
    <property name="label" type="string" length="20" column="LABEL" not-null="false" />
    <property name="isCorrect" type="boolean" column="ISCORRECT" not-null="false" />
    <property name="grade" type="string" length="80" column="GRADE" not-null="false" />
    <property name="score" type="double" column="SCORE" not-null="false" />
    <property name="discount" type="double" column="DISCOUNT" not-null="false" />
    <property name="partialCredit" type="double" column="PARTIAL_CREDIT" not-null="false" />
    <set name="answerFeedbackSet" table="SAM_ANSWERFEEDBACK_T" cascade="all" inverse="true" lazy="false" batch-size="50">
      <key column="ANSWERID" />
      <one-to-many class="org.sakaiproject.tool.assessment.data.dao.assessment.AnswerFeedback" />
    </set>
  </class>

  <class name="org.sakaiproject.tool.assessment.data.dao.assessment.AnswerFeedback" table="SAM_ANSWERFEEDBACK_T">
    <id name="id" column="ANSWERFEEDBACKID" type="java.lang.Long" unsaved-value="0">
      <generator class="native">
        <param name="sequence">SAM_ANSWERFEEDBACK_ID_S</param>
      </generator>
    </id>
{'fraction_non_alphanumeric': 0.17962036680774657, 'fraction_numerical': 0.007310504040015391, 'mean_word_length': 4.922901633118117, 'pattern_counts': {'":': 0, '<': 241, '<?xml version=': 2, '>': 241, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5837177', 'n_tokens_mistral': 5441, 'n_tokens_neox': 5233, 'n_words': 802}