Hibernate“一对多,多对一”之配置

Hibernate“一对多,多对一”之配置

   假设有两个类:

  1:图书详情:<多的一方>

     

public class BookEntity implements Serializable {
	private int bookId;// 图书编号
	private BookType bookType;// 图书所属类型
	private String bookName;// 图书名称
}

    其xml映射文件如下:

<class table="BookEntity" name="cc.bookims.business.bookentity.model.BookEntity"
		dynamic-update="true" lazy="false">
		<id name="bookId" type="integer">
			<column name="BookId">
				<comment>"图书--自编号</comment>
			</column>
			<generator class="native"></generator>
		</id>

		<property name="bookName" type="string">
			<column name="BookName">
				<comment>"图书"名称</comment>
			</column>
		</property>

		<many-to-one name="bookType"
			class="cc.bookims.business.booktype.model.BookType">
                        <!-- 其意义在于将BookType<一>的主键与BookEntity<多>建立联系 -->
			<column name="TypeId">
				<comment>该图书所属的类别</comment>
			</column>
		</many-to-one>
</class>

 

 

2:图书类别:<一的一方>

  

public class BookType implements Serializable {	
	private int typeId;// 图书类型编号
	private String typeName;// 图书类型名
	private String describes;// 图书类型描述
	private Set<BookEntity> bookEnts;//图书Set集合
}

 其xml映射文件如下:

<class table="BookType" name="cc.bookims.business.booktype.model.BookType"
		dynamic-update="true" lazy="false">

		<id name="typeId" type="integer">
			<column name="TypeId">
				<comment>"图书类型"自编号</comment>
			</column>
			<generator class="native"></generator>
		</id>

		<property name="typeName" type="string">
			<column name="TypeName">
				<comment>"图书类型"名称</comment>
			</column>
		</property>

		<property name="describes" type="string">
			<column name="Describes">
				<comment>"图书类型"描述,说明</comment>
			</column>
		</property>

		<set name="bookEnts" cascade="all" inverse="true">
                     <!-- TypeId 对应实体BookEntity所映射表中的关联字段 -->
			<key column="TypeId" />
			<one-to-many class="cc.bookims.business.bookentity.model.BookEntity" />
		</set>
</class>

 

猜你喜欢

转载自yuanyan.iteye.com/blog/1773457
今日推荐