<?xml version="1.0" encoding="UTF-8"?>
<hibernate-mapping xmlns="http://www.hibernate.org/xsd/hibernate-mapping"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.hibernate.org/xsd/hibernate-mapping
		http://www.hibernate.org/xsd/hibernate-mapping/hibernate-mapping-4.0.xsd">
		
	<class entity-name="com.xyst.dinas.contract.datamodel.ContractInfo" table="xyst_dinas_contract" optimistic-lock="version">
	
		<tuplizer entity-mode="dynamic-map" class="com.beecode.bcp.store.hibernate.KObjectEntityTuplizer"/>
		
        <id name="id" type="uuid-binary" column="id" length="16">
            <generator class="uuid2" />
        </id>
        <version name="version" type="int" column="version"/>
        <property name="createTime" type="timestamp" not-null="false">
            <column name="create_time"></column>
        </property>
        <many-to-one name="creator" entity-name="com.beecode.bap.staff.datamodel.Staff" fetch="select">
            <column name="creator_id"  not-null="false"/>
        </many-to-one>
        <property name="modifyTime" type="timestamp" not-null="false">
            <column name="modify_time"></column>
        </property>
        <many-to-one name="modifier" entity-name="com.beecode.bap.staff.datamodel.Staff" fetch="select">
            <column name="modifier_id"  not-null="false"/>
        </many-to-one>
        <property name="billState" type="nstring" not-null="false">
            <column name="bill_state" length="100"></column>
        </property>
        <many-to-one name="bizProcess" entity-name="com.beecode.bap.workflow.datamodel.BizProcess" fetch="select">
            <column name="biz_process_id"  not-null="false"/>
        </many-to-one>
        <property name="billCode" type="nstring" not-null="false">
            <column name="bill_code" length="200"></column>
        </property>
        <property name="discard" type="boolean" not-null="false">
            <column name="discard"></column>
        </property>
        <property name="del" type="boolean" not-null="false">
            <column name="del"></column>
        </property>
        <property name="approveState" type="integer" not-null="false">
            <column name="approve_state"></column>
        </property>
        
		<many-to-one name="project" entity-name="com.xyst.dinas.project.datamodel.ProjectFiled" fetch="select">
            <column name="project_id"  not-null="false"/>
        </many-to-one>
		<property name="projectCode" type="nstring" not-null="false">
			<column name="project_code" length="50"></column>
		</property>
		<many-to-one name="regionalCompany" entity-name="com.xyst.dinas.biz.datamodel.xystOrganization" fetch="select">
            <column name="regional_company_id"  not-null="false"/>
        </many-to-one>
		<property name="regionalCompanyName" type="nstring" not-null="false">
			<column name="regional_company_name" length="50"></column>
		</property>
		<many-to-one name="purchaseSandUnit" entity-name="com.xyst.dinas.project.datamodel.PurchaseSandCompany" fetch="select">
            <column name="purchase_sand_unit_id"  not-null="false"/>
        </many-to-one>
		<property name="purchaseSandUnitName" type="nstring" not-null="false">
			<column name="purchase_sand_unit_name" length="50"></column>
		</property>
		<property name="contractName" type="nstring" not-null="false">
			<column name="contract_name" length="50"></column>
		</property>
		<property name="contractCode" type="nstring" not-null="false">
			<column name="contract_code" length="50"></column>
		</property>
		<property name="currentVersion" type="integer" not-null="false">
			<column name="current_version" length="11"></column>
		</property>
		<property name="contractState" type="nstring" not-null="false">
			<column name="contract_state" length="50"></column>
		</property>
		
	</class>
	
</hibernate-mapping>