欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重地阐述SSH三个框架的基础知识,第四部分将会进入项目实战,如果您已经对SSH框架有所掌握,那么可以直接浏览第四章,源码均提供在GitHub/ssh-network-hard-disk上供大家参阅
本篇学习要求
- 主键映射
- 普通属性映射
- 组件映射
- 一对一关联映射
- 多对一单向关联映射
- 多对一双向关联映射
主键映射
注解配置
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id;XML配置
<id name="id" column="id"> <!-- 主键的生成策略 --> <generator class="identity"/> </id>Hiberante主键生成策略 http://www.cnblogs.com/hoobey/p/5508992.html
普通属性映射
注解配置
@Basic @Column(nullable = true) private String username;XML配置
<!-- 配置其他的属性 --> <property name="username" column="username"/>组件映射
注解配置
组件类 @Embeddable public class Name { ... } 组件属性 @Embedded @AttributeOverrides({ @AttributeOverride(name = "firstName", column = @Column(name = "firstName")) @AttributeOverride(name = "lastName", column = @Column(name = "lastName")) }) private Name name;XML配置
<component name="name" class="com.jimisun.domain.Name"> <property name="first" column="first"/> <property name="last" column="last"/> <component>一对一关联映射
XML配置(模拟商品和商品详情)
商品hbm.xml配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <!-- 配置类和表结构的映射 --> <class name="com.jimisun.domain.Product" table
