hibernate连接oracle,生成主键要是用sequence,为什么还要设置oracle序列呀

序列怎么设置呀?怎么定义序列呀?... 序列怎么设置呀?怎么定义序列呀? 展开
 我来答
lkstarsea
2013-07-25 · TA获得超过315个赞
知道小有建树答主
回答量:201
采纳率:100%
帮助的人:192万
展开全部
实体配置文件是这样
<id name="实体属性名称" column="主键名">

<generator class="sequence">
<param name="sequnece">seq_test</param>

</generator>
</id>
在oracle中执行下面的pl/sql创建对应序列
create sequence seq_test
minvalue 10000
maxvalue 99999
start with 10000
increment by 1
简讯快递
2013-07-25 · TA获得超过1202个赞
知道小有建树答主
回答量:1926
采纳率:33%
帮助的人:529万
展开全部
ya178帮帮团:
hibernate用的sequence就是指定的oracle的sequence。
你仔细看看配置就知道了!
追问
额?这个……我就是不太明白oracle的sequence,如果我在oracle不存在这个表,我用hibernate不是可以给我建立这个表么,那么如何定义oracle的sequence呀,怎么还会指定序列名呢?
追答
定义oracle的sequence 就是在oracle里建一个sequence啊!
你看看这个配置:

pk//pk为sequence名称

还有一种方式是使用公共的sequence, 这各时候可以不指定表使用的sequence,那么相应的hbm.xml中内容是:
  然后创建公用的 sequence对象,命名为 hibernate_sequence
  create sequence hibernate_sequence
  minvalue 0
  maxvalue 99999999
  start with 10000
  increment by 1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孤独的猫
2013-07-25
知道答主
回答量:44
采纳率:0%
帮助的人:24.6万
展开全部

PL/SQL进入数据库,创建一个 sequence

名称为DC_SEQ

然后在代码Model 层    主键字段

    @Id
    @Column(name = "id")
    @GeneratedValue(generator="DC_SEQ",strategy=GenerationType.SEQUENCE)
    @SequenceGenerator(name = "DC_SEQ", sequenceName = "DC_SEQ" ,allocationSize =1,initialValue=1)

public int getId() {
  return id;
 }

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式