当前位置: 代码迷 >> J2EE >> Hibernate映射文件里面的有关问题里面的东西是干什么有什么作用请求解答帅哥美女们解答
  详细解决方案

Hibernate映射文件里面的有关问题里面的东西是干什么有什么作用请求解答帅哥美女们解答

热度:93   发布时间:2016-04-17 23:33:39.0
Hibernate映射文件里面的问题里面的东西是干什么有什么作用请求解答帅哥美女们解答。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="cn.jbit.hibernatedemo.entity.Employee" table="emp2">
<id name="empNo" column="EMPNO" type="java.lang.Integer">

<generator class="native" >
 <param name="sequence">deptno_seq</param>
 </generator>

</id>
<property name="empName" column="ename" type="java.lang.String" />
<many-to-one name="dept" 
     column="DEPTNO" 
     class="cn.jbit.hibernatedemo.entity.Dept" 
     />
<property name="job" column="job" type="java.lang.String" />
<property name="mgr" column="mgr" type="java.lang.Integer" />
<property name="sal" column="sal" type="java.lang.Double" />
<property name="comm" column="comm" type="java.lang.Double" />
<property name="hireDate" column="hiredate" type="java.util.Date" />
</class>
</hibernate-mapping>



各位帅哥美女大神好,这段hibernate映射文件代码没有问题,主要是不懂文件里面的<generator class="native" >
 <param name="sequence">deptno_seq</param>
 </generator>
是什么意思?本人很不明白是干什么用的,还有请问<many-to-one >是什么意思干什么用的做什么用看看起来真像外键。。
本人还是个学生这些还不懂求各位有经验的朋友们发挥你们的特长来解答吧,感谢。
------解决思路----------------------
<generator class="native" >
----generator是选择主键生成机制,这里使用的native表示根据数据库使用对应生成机制,包括sequence和identity
 <param name="sequence">deptno_seq</param>
----一般在使用Oracle时使用的主键生成机制为sequence,Oracle中需要一个序列来进行控制主键,这里是当前表主键的对应序列
 </generator>
------解决思路----------------------
楼上说了 native的 作用  我来说说
many-to-one 吧
 比如有2个表  一个是 订单表 order  一个是订单条目表 item

条目表里面有一个字段 叫 order_id 代表着所对应的订单

这时候 会使用 many-to-one   使用具体的 一个order对象 来代替 order_id

为什么要叫many-to-one呢  因为有很多订单条目  所以  相当于有多个item与orde对应 关联起来 所以是 many-to-one

这样做有什么好处呢?  
比如 你使用 hql 获取得到item对象 ,那么 你就直接得到了 order对象 而不用  再利用 order_id 再去查

还有一个好处是, 减少了sql语句  
可以直接 在hql里面 加上 join fetch 或者在 many-to-one  里面加上fetch-join的属性  
会生产相应的 关联sql语句  获取数据
------解决思路----------------------
我现在在参加实习,正在讲hibernate你留个邮箱,我给你发我们的上课视频,我还可以给你本书将javaweb开发的,
------解决思路----------------------
这是主键生成机制 (id) native  只是一种 还有七种生成机制  下面是一个地址里面讲的是id生成策略 希望对你有所帮助
http://www.cnblogs.com/flyoung2008/articles/2165759.html
  相关解决方案