一 表结构:
CREATE TABLE `user` (
`userid` int(11) NOT NULL auto_increment,
`username` varchar(255) NOT NULL default '',
`age` int(2) default NULL,
PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
CREATE TABLE `address` (
`aid` int(11) NOT NULL default '0',
`address` varchar(255) NOT NULL default '',
PRIMARY KEY (`aid`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
二 POJO与映射文件:
public class User {
private Integer userid;
private String username;
private Integer age;
private Address address;
//getters setters method...
}
public class Address {
private Integer aid;
private String address;
private User user;
//getters setters method...
}
User.hbm.xml
<hibernate-mapping>
<class name="com.pojo.User" table="user" dynamic-insert="true"
dynamic-update="true">
<id name="userid" type="integer">
<column name="userid" sql-type="int" length="11"></column>
<generator class="native"></generator>
</id>
<property name="username" type="string">
<column name="username" sql-type="varchar" length="255"
not-null="true">
</column>
</property>
<property name="age" type="integer">
<column name="age" sql-type="int" length="2"></column>
</property>
<one-to-one name="address" class="com.pojo.Address"
cascade="all">
</one-to-one>
</class>
</hibernate-mapping>
Address.hbm.xml
<hibernate-mapping>
<class name="com.pojo.Address" table="address" dynamic-insert="true" dynamic-update="true">
<id name="aid" type="integer">
<column name="aid" sql-type="int" length="11"></column>
<generator class="foreign">
<param name="property">user</param>
</generator>
</id>
<property name="address" type="string">
<column name="address" sql-type="varchar" length="255"></column>
</property>
<one-to-one name="user" class="com.pojo.User"
constrained="true" cascade="all">
</one-to-one>
</class>
</hibernate-mapping>
分享到:
相关推荐
NULL 博文链接:https://paladin1988.iteye.com/blog/1639102
demo代码; 博客地址:http://blog.csdn.net/smilefyx/article/details/48951933
Hibernate学习要点:一对一主键关联双向
1.共享主键的一对一关联映射: @Entity @Table(name="Test_Body") public class Body { private Integer id; private Heart heart; @Id public Integer getId() { return id; } public void setId(Integer id...
单向一对一共享主键 该存储库正在存储有关Hibernate映射示例的源代码-共享主键上的单向一对一关联
:Hibernate有两种映射实体一对一关联关系的实现方式:共享主键方式和唯一外键方式。 共享主键方式: 所谓共享主键方式就是限制两个数据表的主键使用相同的值
实现了一对一共享主键关联,一对多,多对一,多对多关系的单项和多项两部分的关联实现,包括源码,测试代码,配置代码,工程导入即可使用,基于hibernate4.0.
Hibernate注释大全收藏 声明实体Bean @Entity public class Flight implements Serializable { Long id; @Id public Long getId() { return id; } public void setId(Long id) { this.id...一对一 使用 @OneToOne...
7.1.1 共享的主键关联 7.1.2 一对一的外键关联 7.1.3 用联结表映射 7.2 多值的实体关联 7.2.1 一对多关联 7.2.2 多对多关联 7.2.3 把列添加到联结表 7.2.4 映射map 7.3 多态关联...
组件的属性可以是任意一种Hibernate类型(包括集合, 多对多关联, 以及其它组件等等)。嵌套组件不应该被当作一种特殊的应用(Nested components should not be considered an exotic usage)。 Hibernate倾向于支持...