many-to-one , 。 ( - ): 。
<many-to-one
name="propertyName"
column="column_name"
class="ClassName"
cascade="cascade_style"
fetch="join|select"
update="true|false"
insert="true|false"
property-ref="propertyNameFromAssociatedClass"
access="field|property|ClassName"
unique="true|false"
not-null="true|false"
optimistic-lock="true|false"
lazy="proxy|no-proxy|false"
not-found="ignore|exception"
entity-name="EntityName"
formula="arbitrary SQL expression"
node="element-name|@attribute-name|element/@attribute|."
embed-xml="true|false"
index="index_name"
unique_key="unique_key_id"
foreign-key="foreign_key_name"
/> name: 。
column ( ): 。 <column> 。
class ( - ): 。
cascade( ) ( ): 。
fetch ( - select): (outer-join fetching) (sequential select fetching) 。
update, insert ( - true) UPDATE / INSERT SQL 。 false, “ (derived)” , ( ) trigger( )、 。
property-ref: ( ) , 。 , 。
access ( - property): Hibernate 。
unique ( ): DDL 。 , property-ref 。 。
not-null ( ): DDL 。
optimistic-lock ( - true): (optimistic lock)。 , (version) 。
lazy ( - proxy): , 。lazy="no-proxy" (fetche lazily)( )。 lazy="false" 。
not-found ( - exception): : ignore (null) 。
entity-name ( ): 。
formula ( ): SQL , computed( ) 。
cascade none , 。 Hibernate , persist, merge, delete, save-update, evict, replicate, lock, refresh, delete-orphan all, , ,cascade="persist,merge,evict" cascade="all,delete-orphan"。 10.11 “ (transitive persistence)”. , (many-to-one one-to-one ) (orphan delete, ).
many-to-one :
<many-to-one name="product" class="Product" column="PRODUCT_ID"/>property-ref , ( ) 。 。 , Product , 。(unique Hibernate SchemaExport DDL 。)
<property name="serialNumber" unique="true" type="string" column="SERIAL_NUMBER"/> OrderItem :
<many-to-one name="product" property-ref="serialNumber" column="PRODUCT_SERIAL_NUMBER"/> , 。
, <properties> 。
, :
<many-to-one name="owner" property-ref="identity.ssn" column="OWNER_SSN"/>
CSDN , :http://blog.csdn.net/ailihx/archive/2007/11/30/1909105.aspx