当前位置: 首页 > 面试题库 >

在Hibernate中绕过GeneratedValue

胡曾笑
2023-03-14
问题内容

是否有可能绕过@GeneratedValueHibernate中的ID,在大多数情况下,我们希望使用来设置ID
GeneratedValue,但在某些情况下希望手动设置ID。

这可能吗?


问题答案:

我知道您可以在JPA规范中执行此操作,因此您应该能够在Hibernate中(使用JPA +批注)。

如果仅填写要创建的新持久性模型的ID字段,那么当您将该模型“合并”到EntityManager中时,它将使用您设置的ID。

但是,这确实有后果。您刚刚用完了该ID,但是GeneratedValue批注指定的序列不知道这一点。除非您指定一个比当前序列值少的未使用的ID,否则一旦序列追上您刚刚使用的值,您将遇到问题。

因此,也许我可以看到您可能希望用户在哪里指定ID,但是您需要捕获将来可能出现的异常(重复ID)。



 类似资料:
  • 问题内容: 我的问题与[1]或[2]中描述的相同。我需要手动设置默认情况下自动生成的值(为什么?导入旧数据)。如[1]中所述,使用可以解决问题。 对我来说不幸的是事实并非如此。我既未收到错误也未收到其他任何警告。该实体只是不会出现在数据库中。我正在使用Spring和Hibernate EntityManager 3.5.3-Final。 问题答案: 它可以通过以下代码在我的项目中运行: 和 在这里

  • 问题内容: 我正在“事务化”一些广泛的数据库操作,并且遇到了以下问题:如果我通过hibernate模式运行sql查询,但未使用MQL方法,则数据库视图似乎不正确。具体来说,在大多数情况下,代码以更适当的方式使用hibernate模式,但是在某些地方,有人决定只执行sql。我不喜欢他们这样做,但是在这一点上“这就是事实”。 我发现了一个解释,这似乎解释,但所有的示例都是WRT实际上得到和管理代码交易

  • 简要描述 有些时候,通用的绕过技巧并不可行,这个时候我们就得观察缺陷点的周围环境,想想其它办法咯。“猥琐绕过”与通用绕过不 同的是,它通用性小,往往只是特例。 详细说明 1. 直接看实例点: http://qzs.qq.com/qzone/v6/custom/custom_module_proxy.html#siDomain=1&g_StyleID=aaaaaaaaaa 2. 可以看出,这是一个

  • 简要描述 关于反射型的基本东西,暂时就到这啦,如果后面有什么好的 case,再做增补。最近,有些人会问到怎么绕过浏览器的 XSS 过滤 器,所以从这节开始,给出点绕过的例子。当然这些绕过浏览器的方法,不是万能的。不同浏览器,不同场景都会存在差异。满足场景 要求时,才可以使用。 此文给出的是一个来自 sogili 分享的 chrome 下绕过过滤器的方法,在腾讯某处 XSS 上的应用。 这一类都算是

  • 尽管我保留了verify=false,但在Python中还是出现了ssl错误。你能告诉我如何避免吗?但是curl命令使用-k选项。 错误:

  • 我使用的是Spring数据JDBC。 我有一个实体,其中的字段用