代码改变世界

hibernate的映射关系(1对n,n对1,n对n······)

2012-12-25 00:13  eoeAndroid社区  阅读(245)  评论(0编辑  收藏  举报

1对多(1对多关系,name="novelSet"对应字段名  inverse=“true”不维护关联关系,order-by排序字段)

<hibernate-mapping package="com.model">
	<class name="NovelType" table="noveltype" catalog="sshweb">
		<id name="id" type="java.lang.Integer">
			<column name="id" />
			<generator class="identity" />
		</id>
		<property name="name" type="java.lang.String">
			<column name="name" length="30" not-null="true" />
		</property>
		<set name="novelSet" inverse="true" order-by="hot desc" >
			<key column="novelType" ></key>
			<one-to-many class="Novel"/>//多端的类名
		</set> 
	</class>
</hibernate-mapping>



多对1(多对1关系,name="novelType"类的字段名 column="novelType"对应数据库的字段名   class="NovelType":1端的类名)

<hibernate-mapping package="com.model">
       <class name="Novel" table="novel" catalog="sshweb">
		<id name="id" type="java.lang.Integer">
			<column name="id" />
			<generator class="identity" />
		</id>
		<property name="name" type="java.lang.String">
			<column name="name" length="20" not-null="true" />
		</property>
		<many-to-one name="novelType" column="novelType" not-null="true"   class="NovelType" ></many-to-one>
	</class>
</hibernate-mapping>


<hibernate-mapping package="com.model"> <class name="Novel" table="novel" catalog="sshweb"><id name="id" type="java.lang.Integer"><column name="id" /><generator class="identity" /></id><property name="name" type="java.lang.String"><column name="name" length="20" not-null="true" /></property><many-to-one name="novelType" column="novelType" not-null="true" class="NovelType" ></many-to-one></class></hibernate-mapping>