- 浏览: 148809 次
- 性别:
- 来自: 彩虹之巅
最新评论
-
qq970836452:
[url][img][url][url][img][url][ ...
spring中配置声明式事务的几种方式 -
qq970836452:
[img][/img]
spring中配置声明式事务的几种方式 -
qq970836452:
[*]
spring中配置声明式事务的几种方式 -
qq970836452:
[img]||[/img][img][/img][url][u ...
spring中配置声明式事务的几种方式 -
qq970836452:
[img][/img][img][/img][url][url ...
spring中配置声明式事务的几种方式
在hibernate3中,one-to-one关联主要通过3种方式来实现:
(1)共享的关联主键
(2)主外键关联
(3)通过关联表关联
其中,第一和第二中关联很常见,第三种关联因为效率关系很少使用。
下面是通过关联表关联实现one-to-one的简单例子,通过关联表实现one-to-one在网上例子非常少,这个程序我也是试了N长时间才搞定的:
create table person ( person_id bigint primary key, name varchar(255) not null ); create table address( address_id bigint primary key, country varchar(255), city varchar(255), street varchar(255) ); create table passport ( passport_id bigint primary key, num varchar(255) ); create table person_mid ( person_id bigint, address_id bigint, passport_id bigint, unique(person_id), primary key(address_id, passport_id), foreign key (person_id) references person(person_id), foreign key (address_id) references address(address_id), foreign key (passport_id) references passport(passport_id) );
package domain; import java.io.Serializable; public class Person implements Serializable { private Long id; private String name; private Address address; private Passport passport; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public Passport getPassport() { return passport; } public void setPassport(Passport passport) { this.passport = passport; } }
package domain; import java.io.Serializable; public class Address implements Serializable { private Long id; private String country; private String city; private String street; private Person person; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } public Person getPerson() { return person; } public void setPerson(Person person) { this.person = person; } }
package domain; import java.io.Serializable; public class Passport implements Serializable { private Long id; private String num; private Person person; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getNum() { return num; } public void setNum(String num) { this.num = num; } public Person getPerson() { return person; } public void setPerson(Person person) { this.person = person; } }
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="domain.Person" table="person" dynamic-insert="true" > <id name="id" column="person_id"> <generator class="sequence" > <param name="sequence">seq</param> </generator> </id> <property name="name" column="name" not-null="true" /> <join table="person_mid" optional="true" > <key column="person_id" /> <many-to-one name="address" column="address_id" not-null="true" unique="true" cascade="all" /> <many-to-one name="passport" column="passport_id" not-null="true" unique="true" cascade="all" /> </join> </class> </hibernate-mapping>
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="domain.Address" table="address" dynamic-insert="true" > <id name="id" column="address_id"> <generator class="foreign" > <param name="property">person</param> </generator> </id> <property name="country" column="country" not-null="true" /> <property name="city" column="city" not-null="true" /> <property name="street" column="street" not-null="true" /> <join table="person_mid" optional="true"> <key column="address_id" /> <many-to-one name="person" column="person_id" not-null="true" unique="true" insert="false" update="false" /> </join> </class> </hibernate-mapping>
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="domain.Passport" table="passport" dynamic-insert="true" > <id name="id" column="passport_id"> <generator class="foreign" > <param name="property">person</param> </generator> </id> <property name="num" column="num" not-null="true" /> <join table="person_mid" optional="true"> <key column="passport_id" /> <many-to-one name="person" column="person_id" not-null="true" unique="true" insert="false" update="false" /> </join> </class> </hibernate-mapping>
发表评论
-
spring中配置声明式事务的几种方式
2009-06-30 18:31 2848(1)通过TransactionProxyFactoryBea ... -
spring中AOP代理的几种方式
2009-06-24 14:45 4687部分例子摘自 spring in action (1)使用P ... -
hibernate实战(第2版)读书笔记(一)
2009-05-28 09:38 3034最近时间重读hibernate实战(第2版),哈哈,很长时间不 ... -
SWT中使用Opengl画圆的例子
2009-03-09 22:26 5346import org.eclipse.opengl.GL; i ... -
Windows下VC6配置Opengl开发环境
2009-03-05 08:14 4728最近需要了解下Opengl,于是开始鼓捣Opengl,从网上下 ... -
用SWT写的简单的通讯录
2009-01-19 12:32 1916用SWT写了个简单的通讯录,管理自己的手机号, -
用SWT做的简单的文件浏览器
2009-01-03 17:55 2841一个用swt做的简单的文件浏览器, package hell ... -
hibernate3 one-to-one总结之主外键关联
2008-11-08 19:21 2567在hibernate3中,one-to-one关联主要通过3种 ... -
hibernate3 one-to-one总结之共享的关联主键
2008-11-08 19:14 2340在hibernate3中,one-to-one关联主要通过3种 ... -
hibernate3中使用hsql的sequence生成主键
2008-10-25 09:58 3024今天,想尝试下使用hsql的sequence来作为hibern ... -
js dtree的简单应用
2008-09-25 19:54 3273前几天在javaeye上看到有这样一个帖子(http://ww ... -
怎么样让ibatis原生支持C3P0
2008-09-03 08:02 2341昨天,在javaeye上看到一个帖子,http://www.i ... -
在IE和Firefox都通用的弹出对话框
2008-08-15 06:44 4402test.html <!DOCTYPE html PUB ... -
JAVA版 俄罗斯方块
2008-07-26 11:00 3721把以前写的程序拿出来晒晒 -
JAVA版 连连看
2008-07-07 20:26 6296以前写的连连看,大家共同玩下。 -
彻底解决超链接提交中文乱码问题
2008-04-26 11:08 26962在网页中的超链接,例如 <a href="/s ... -
使用JAVA在JSP中生成饼图
2008-03-25 16:27 3786通过在服务器端生成图片 然后这样在页面中的图片可以真正的跨浏览 ... -
JSP 分页
2008-02-26 12:59 2858package examples; import java. ... -
设计模式之 Visitor
2007-12-12 14:27 1365package designpattern; pub ... -
设计模式之 Intercepting Filter
2007-12-12 14:13 2356package filter; public int ...
相关推荐
hibernate one-to-one 一对一唯一外键关联映射_单向 and 双向
Hibernate-one-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 ...
赠送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 的学习小经验
赠送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://xiangtui.iteye.com/blog/680938
Hibernate应用例子one-to-one
如果在”一“一端维护一对多关联关系,hibernate会发出多余的udpate语句,所以我们一般在多的一端来维护关联关系。 加上inverse="true"这个属性,就可以强制在多的一端维护关系了。
免费为大家服务 Hibernate one-to-many-annotation
hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码 hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码
很多人为了配置jpa找这个动态产生字节码的jar文件,hibernate-distribution-3.3.1.GA包太大,而hibernate-distribution-3.3.2.GA的jar没有这个jar文件,希望对大家有用
NULL 博文链接:https://zhouxianglh.iteye.com/blog/569471
hibernate-annotations-3.4.0.GA hibernate-annotations-3.4.0.GA hibernate-annotations-3.4.0.GA
hibernate-jpa-2.0-api-1.0.1.Final.jar
hibernate-jpa-2.1-api-1.0.0.final.jar.zip,内含hibernate-jpa-2.1-api-1.0.0.final.jar
hibernate-release-5.3.7.Final
hibernate-commons-annotations-5.0.1.Final.jar的源码
hibernate-release-4.0.0.Final.zip
使用hibernate-validator 进行校验的jar包,里面包括了基础hibernate-validator-5.0.0.CR2.jar hibernate-validator-annotation-processor-5.0.0.CR2.jar 之外,还包括了el-api-2.2.jar javax.el-2.2.4等项目必不可...