hibernate关联的问题?
现在开始学hibernate,今天看了一本hibernate的书,里面,有一个例子,tb_dept表包含的字段id(唯一标识int型),deptName(varchar型),tb_staff表包含的字段id(唯一标识int型),dept_id(varchar型),staff_name(varchar型),书本里的意思就是用id来表示部门编号和员工编号。TbDept.hbm.xml配置
<set name="tbStaffs" inverse="true" cascade="all">
<key>
<column name="dept_id" />
</key>
<one-to-many class="com.formBean.TbStaff" />
</set>TbStaff.hbm.xml配置
<many-to-one name="tbDept" column="dept_id" class="com.formBean.TbDept" cascade="none" lazy="false"/>TbStaff怎么知道dept_id字段对应b_dept表的id呢?
现在开始学hibernate,今天看了一本hibernate的书,里面,有一个例子,tb_dept表包含的字段id(唯一标识int型),deptName(varchar型),tb_staff表包含的字段id(唯一标识int型),dept_id(varchar型),staff_name(varchar型),书本里的意思就是用id来表示部门编号和员工编号。TbDept.hbm.xml配置
<set name="tbStaffs" inverse="true" cascade="all">
<key>
<column name="dept_id" />
</key>
<one-to-many class="com.formBean.TbStaff" />
</set>TbStaff.hbm.xml配置
<many-to-one name="tbDept" column="dept_id" class="com.formBean.TbDept" cascade="none" lazy="false"/>TbStaff怎么知道dept_id字段对应b_dept表的id呢?
解决方案 »
- java服务器,tomcat、tomcat、tomcat!或者别的
- struts2启动tomcat报错
- strut2 怎么获取动态表单的内容
- 为什么JAVA里时间比电脑上看到的实际时间慢啊!
- 开发者群 没开发经验的免进 20064958
- 更新页面如何增加数据
- Dom4J中好象没有支持XML文件元素的注释和反注释API,请问哪里有第三方的支持这个功能的组件?!!
- 大讨论:Java在网络上传输数据的最佳方式是什么?JMS,Socket,Webservie...?
- 请用struts开发过实际项目的朋友进来说说
- (急)请问,java中常常提到的“串行化”是什么概念?
- 大家好
- Spring如何对工程进行管理的?
<key>
<column name="dept_id" />
</key>么?
<class name="com.formBean.TbDept" table="tb_dept" schema="dbo" catalog="db_database03">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="increment" />
</id>
<property name="name" type="java.lang.String">
<column name="name" length="50" />
</property>
<property name="deptId" type="java.lang.Integer">
<column name="deptId" />
</property>
<set name="tbStaffs" inverse="true" cascade="all">
<key>
<column name="dept_id" />
</key>
<one-to-many class="com.formBean.TbStaff" />
</set>
</class>
我就是问,怎么知道对应的是tb_dept里面的id字段,而不是deptId字段呢?hibernate里面规定了只能和主键对应?
应该是这样的:
<set name="tbStaffs" inverse="true" cascade="all">
<key>
<column name="id"/>
</key>
<one-to-many class="com.formBean.TbStaff" column="dept_id"/>
</set> 不知是否是这么个情况?
<class name="mrmwq.hibernate.Staff" table="tb_staff"> <id name="id" column="id" type="int">
<generator class="increment"/>
</id> <property name="name" column="name" type="string" not-null="true"/>
<property name="sex" column="sex" type="string" not-null="true"/>
<property name="birthday" column="birthday" type="date" not-null="true"/>
<property name="idCard" column="idCard" type="string" not-null="true"/>
<property name="nation" column="nation" type="string" not-null="true"/>
<property name="schoolage" column="schoolage" type="string" not-null="true"/>
<property name="nativePlace" column="nativePlace" type="string" not-null="true"/>
<property name="address" column="address" type="string" not-null="true"/> <many-to-one name="dept" column="dept_id" class="mrmwq.hibernate.Dept" cascade="none" lazy="false"/> </class><class name="mrmwq.hibernate.Dept" table="tb_dept"> <id name="id" column="id" type="int">
<generator class="increment"/>
</id> <property name="name" column="name" type="string" not-null="true"/> <set name="staffs" cascade="save-update" lazy="false">
<key column="dept_id"/>
<one-to-many class="mrmwq.hibernate.Staff"/>
</set> </class>
书本上的实例运行没有问题。
现在他是把tb_dept表里面的id字段和tb_staff表里面的dept_id对应起来。只是我不想用tb_dept表里面的id作为部门编号,想在里面加个deptId字段作为部门编号,和tb_staff表里面的dept_id字段相对应,就不知道怎么配置这两个表的xml文件了。