Redian新闻
>
Hibernate sequences question
avatar
b*g
2
我又有个问题要打扰大家了
my mapping file is like this


person_id_sequence


然后在UI上删除一个record的时候,发现sequence不连着了,比如0,1,3,4这样子,这是为
什么?
avatar
k*n
3
better than是指performance?
不同情况结果不同吧。
比如linedListItem,找nextitem,比listItem找nextitem明显方便。
还有Dictionary与hashtable,
海量数据时,记得都是用hashtable的。
avatar
m*t
4

Not sure I understand what you mean by "sequence不连着了"?
Also what database?

【在 b**********g 的大作中提到】
: 我又有个问题要打扰大家了
: my mapping file is like this
:
:
: person_id_sequence
:

:

: 然后在UI上删除一个record的时候,发现sequence不连着了,比如0,1,3,4这样子,这是为
: 什么?

avatar
b*g
5
database是oracle
不连着就是本来ID应该是0,1,2,3....现在2不见了,只有0,1,3

【在 m******t 的大作中提到】
:
: Not sure I understand what you mean by "sequence不连着了"?
: Also what database?

avatar
A*o
6
2被你删除了?

【在 b**********g 的大作中提到】
: 我又有个问题要打扰大家了
: my mapping file is like this
:
:
: person_id_sequence
:

:

: 然后在UI上删除一个record的时候,发现sequence不连着了,比如0,1,3,4这样子,这是为
: 什么?

avatar
b*g
7
嗯,对的,不过删除了是不是应该后面的往前shift?

【在 A**o 的大作中提到】
: 2被你删除了?
avatar
m*t
8

No... trust me, you really don't want that to happen. 8-)
A sequence is only responsible for _generating_ a sequence of numbers. Once
they are generated, the sequence no longer keep tracks of them.

【在 b**********g 的大作中提到】
: 嗯,对的,不过删除了是不是应该后面的往前shift?
avatar
b*g
9
hmmmm,但是在我们的dev database里,确实是往前shift了
这块儿不是我写的,我现在在maintain.

Once

【在 m******t 的大作中提到】
:
: No... trust me, you really don't want that to happen. 8-)
: A sequence is only responsible for _generating_ a sequence of numbers. Once
: they are generated, the sequence no longer keep tracks of them.

avatar
b*g
10
刚刚在dev的环境下试了一下,估计production上是有人从database里手动删行了,所以那
个sequence就不work了

【在 b**********g 的大作中提到】
: hmmmm,但是在我们的dev database里,确实是往前shift了
: 这块儿不是我写的,我现在在maintain.
:
: Once

avatar
r*y
11
下一个sequence id应该是当前sequence的下一个值.删除当中的一条记录,不会把后面
记录的primary key往前移的.
除非是hibernate配置文件里设置了每次启动是都是重新创建table.
avatar
A*o
12
having fun maintaining that system. //grin

【在 b**********g 的大作中提到】
: hmmmm,但是在我们的dev database里,确实是往前shift了
: 这块儿不是我写的,我现在在maintain.
:
: Once

avatar
t*k
13
那应该是有人自己去实现的一个类似sequence的功能
oracle的sequence不会shift的

【在 b**********g 的大作中提到】
: hmmmm,但是在我们的dev database里,确实是往前shift了
: 这块儿不是我写的,我现在在maintain.
:
: Once

avatar
g*g
14
这是纯粹吃饱了撑的,ID就要一个字,快。
向前找空当那得做多少数据库操作?没见过这么实现的。

【在 t********k 的大作中提到】
: 那应该是有人自己去实现的一个类似sequence的功能
: oracle的sequence不会shift的

avatar
m*t
15

It's not just about performance. Having ids that could shift behind your
back simply would not make any sense - talk about moving targets. 8-)

【在 g*****g 的大作中提到】
: 这是纯粹吃饱了撑的,ID就要一个字,快。
: 向前找空当那得做多少数据库操作?没见过这么实现的。

avatar
A*o
16
yep, this id field is not an ID in common sense.
what a mess

【在 m******t 的大作中提到】
:
: It's not just about performance. Having ids that could shift behind your
: back simply would not make any sense - talk about moving targets. 8-)

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。