jpa级联主键自增问题

发布于 2021-11-21 01:34:19 字数 488 浏览 842 评论 4

两个实体,USER,GORUP,每个实体的主键都是@GeneratedValue(strategy = GenerationType.AUTO),当然级联关系也设置好了,测试的时候是设置的cascade = {CascadeType.ALL}

GROUP与USER 是oneToMany的关系,我现在要保存一个GROUP,两个实体都是新建的

Group g = new Group();

g.setUser(new User());

em.persist(g);

查看数据库的时候,两个实体保存成功,级联关系也是正确的,但是他们的主键不是我想要的结果,GROUP的ID是1,USER的ID是2,多次创建是时候,发现他们的主键自增是相关联的,就是123456,而不是每张表独立。

请问这个有办法解决吗?

难道说同一个事务中的所有新建的实体主键都是这样的?还是说跟级联有什么关系?我想要的是每个实体都是各自按照顺序增长的。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

筱武穆 2021-11-26 12:50:01

保存记录时 并没有返回ID..

后知后觉 2021-11-26 11:28:38

我用的是mysql,每个表设置独立的seqence具体怎么操作啊?谢谢你的回答

情绪失控 2021-11-26 10:08:13

oracle才会更具需要设置seqence,mysql没有这个!

巡山小妖精 2021-11-23 10:46:17

和数据库有关,你用的oracle吧!oracle默认有所表使用同一个seqence,把每一个表设置独立的seqence就可以了!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文