请问如何在myeclipse中进行one to one的配置 我建了半天不是关联不起来,就是one to many的,请问有选择配成one to one的吗?向大家请教。
解决方案 »
- access插入数据库异常!!
- 关于log4j的疑惑
- 使用j2ee和flex开发一套web im系统,要能做到实时
- Hibernate HSQL 怎么在生成的SQL 中的 字符串常量前加上 N 前缀以标识为Unicode编码
- 怯怯的问个j2ee 安装的问题
- eclipse 3.1.0 与 JBossIDE-1.5M2-ALL+EJB3的配置问题? 3x!
- 急!大段中文字符(如:text型)除了用getBytes法,还有别的方法吗?
- J2EE布署
- 学习EJB大家都看什么网站,参与有分。
- 各位兄弟,小弟刚学EJB,但至今还没有作出一个例子,那位兄弟,给一个具体的详细的小例子看看
- 怎样用JavaScript结合XML做一个随机点名器。急!!!
- 急求EA6应用服务器+SQLSERVER2000的配置方式
比如User和Account是一对一的关系,若将外键加到User表,Account表为主表,User表为辅表
1).共享主键方法名方式:主外键是一样的,在主表方写<one-to-one name="关联属性"/>
辅表方写:<one-to-one name="关联属性",constrained="false">,还要注意辅表的主健生成方式必需该为foreign
即: <id name="oid" column="OID" >
<generator class="foreign">
<param name="property">addr</param>
</generator>
</id>
2).独立外键:主外键不一样,
在主表方写
<one-to-one name="owner"
property-ref="acct" />
在辅表方写 <many-to-one name="关联属性" column="字段名" unique="true"/>
例如:人(Person)和护照(Passwort)的关系是一对一的的关系:
1)共享主键的形式:
1)主表映射文件的写法:
<class name="Person" table="t_person">
<id name="id" column="p_id">
<generator class="increment"></generator>
</id>
<property name="name" column="p_name" type="string"></property>
<property name="birthday" column="p_birthday" type="date"></property>
<property name="email" column="email" type="string"></property>
<property name="phone" column="phone" type="string"></property>
<one-to-one name="passport" cascade="all"></one-to-one>
</class> 2)辅表映射文件的写法:
<class name="Passport" table="t_passport">
<id name="id" column="p_id">
<generator class="foreign">
<param name="property">person</param> //person为Passport中的关系属性
</generator>
</id>
<property name="serial" column="p_serial" type="string"></property>
<property name="expiry" column="p_expiry" type="integer"></property>
<property name="date" column="p_date" type="date"></property>
<one-to-one name="person" constrained="true" cascade="all">
</one-to-one>
</class>
2)独立外键的关联方式:
1)主表映射文件的写法:
<class name="Person" table="t_person">
<id name="id" column="p_id">
<generator class="increment"></generator>
</id>
<property name="name" column="p_name" type="string"></property>
<property name="birthday" column="p_birthday" type="date"></property>
<property name="email" column="email" type="string"></property>
<property name="phone" column="phone" type="string"></property>
<one-to-one name="passport" property-ref="person" cascade="all"></one-to-one> //person为
实体类Passwort中的关系属性。
</class> 2)辅表映射文件的写法:
<class name="Passport" table="t_passport">
<id name="id" column="p_id">
<generator class="increment">
</generator>
</id>
<property name="serial" column="p_serial" type="string"></property>
<property name="expiry" column="p_expiry" type="integer"></property>
<property name="date" column="p_date" type="date"></property>
<one-to-one name="person" column="pss_id" cascade="all">//pss_id为外键列
</one-to-one>
</class>如有错请指正!谢谢!!!
2)独立外键的关联方式:
1)主表映射文件的写法:
<class name="Person" table="t_person">
<id name="id" column="p_id">
<generator class="increment"> </generator>
</id>
<property name="name" column="p_name" type="string"> </property>
<property name="birthday" column="p_birthday" type="date"> </property>
<property name="email" column="email" type="string"> </property>
<property name="phone" column="phone" type="string"> </property>
<one-to-one name="passport" property-ref="person" cascade="all"> </one-to-one> //person为
实体类Passwort中的关系属性。
</class> 2)辅表映射文件的写法:
<class name="Passport" table="t_passport">
<id name="id" column="p_id">
<generator class="increment">
</generator>
</id>
<property name="serial" column="p_serial" type="string"> </property>
<property name="expiry" column="p_expiry" type="integer"> </property>
<property name="date" column="p_date" type="date"> </property>
<many-to-one unique="true" name="person" column="pss_id">//pss_id为外键列
</one-to-one>
</class>
部門(Department)和員工(Employee)的關系。
1)Department的映射文件配置:
<class name="Department" table="t_department">
<id name="id" column="d_id">
<generator class="increment"></generator>
</id>
................
<set name="employees" inverse="true" cascade="save-update"> //employees是Department中的关系属性。
<key column="dept_id"></key> //外键列
<one-to-many class="Employee"/> //关联实体
</set>
</class>
2)Employee的映射文件配置:
<class name="Employee" table="t_employee">
<id name="id" column="e_id">
<generator class="increment"></generator>
..................
<many-to-one class="department" column="dept_id"></many-to-one> //department为Employee实体中的关系属性。