在项目中由于业务原因要对数据库中一个表做扩展,由于扩展的内容比较多,于是新建了一张表,表旧表做一对一关联,共享其旧表的主键。
贴出个小例子供自己备忘使用
我们这里用的是表名称:basic表和extend表
Basic.java 和Basic.hbm.xm如下
package com.sszd.hibernate;
public class Basic {
private int id;
private String feilda;
private Extend extend;
public Extend getExtend() {
return extend;
}
public void setExtend(Extend extend) {
this.extend = extend;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFeilda() {
return feilda;
}
public void setFeilda(String feilda) {
this.feilda = feilda;
}
}
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.sszd.hibernate.Basic" table="basic">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="feilda" column="feilda" type="string"/>
<!-- cascade 表示级联关系,extend伴随着basic的操作面操作 -->
<one-to-one name="extend" class="com.sszd.hibernate.Extend" cascade="all"></one-to-one>
</class>
</hibernate-mapping>
Extend.java和Extend.hbm.xml
package com.sszd.hibernate;
public class Extend {
private int id;
private String feilda;
private Basic basic;
public Basic getBasic() {
return basic;
}
public void setBasic(Basic basic) {
this.basic = basic;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFeilda() {
return feilda;
}
public void setFeilda(String feilda) {
this.feilda = feilda;
}
}
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.sszd.hibernate">
<class name="com.sszd.hibernate.Extend" table="extend">
<id name="id" column="id">
<generator class="foreign">
<param name="property">basic</param>
</generator>
</id>
<property name="feilda" column="feilda"/>
<one-to-one name="basic" class="com.sszd.hibernate.Basic" constrained="true"></one-to-one>
</class>
</hibernate-mapping>
分享到:
相关推荐
hibernate one-to-one 一对一唯一外键关联映射_单向 and 双向
免费为大家服务 Hibernate one-to-many-annotation
NULL 博文链接:https://xiangtui.iteye.com/blog/680938
深入理解hibernate many-to-one(多对一)及 cascade(级联).
Hibernate-one-to-many
hibernate many-to-many级联保存,级联更新,级联删除
hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.12.Final.jar hibernate-ehcache-4.1.12.Final.jar hibernate-entitymanager-4.1.12.Final.jar hibernate-jpa-2.0-api-1.0.1.Final.jar ...
如果在”一“一端维护一对多关联关系,hibernate会发出多余的udpate语句,所以我们一般在多的一端来维护关联关系。 加上inverse="true"这个属性,就可以强制在多的一端维护关系了。
Hibernate应用例子one-to-one
HibernateTools-3.2.4,Hibernate工具包,开发使用,欢迎下载
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...
hibernate:one-to-one 的学习小经验
NULL 博文链接:https://zhangyulong.iteye.com/blog/856191
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...
NULL 博文链接:https://zhouxianglh.iteye.com/blog/569471
HibernateTools-3.2.4.Beta1-R200810311334.zip
NULL 博文链接:https://zhouxianglh.iteye.com/blog/568484
hibernatetools-Update-4.1.1.zip
NULL 博文链接:https://yinxiaoyong.iteye.com/blog/426752
Eclipse中Hibernate插件。