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

Oracle 11g的Grails序列生成

白芷阳
2023-03-14
问题内容

我意识到这比Grails更像是一个hibernate的问题。在负载平衡(2个节点)的环境中,我看到对象的ID跳跃了很多。即使没有重新启动应用程序服务器,我也看到数字跳过了10个有时是20个数字。我怀疑hibernate会话正在缓存一个序列值块。
有没有办法通过grails 1.3.7控制此行为? 基本上,我每次服务器都需要从数据库中提取nextval时,我都可以。

我的域对象序列声明(与2个对象相同):

static mapping = {
        id generator:'sequence', params:[sequence:'MY_SEQ']  
    }

问题答案:

从那以后,我进入数据库并使用以下DDL修改了Sequence:

ALTER SEQUENCE MY_SEQ NOCACHE;

我认为这是解决此问题的最佳方法。有谁看到这种方法的潜在问题?

谢谢大家!



 类似资料:
  • 在tomcat上运行的grails应用程序中,当我在http会话中保存一个如下所示的映射时,我得到一个异常GrailsParameterMap不可序列化 当我如下更改上面的代码片段时,我也得到了同样的异常,甚至java.util。HashMap实现了可序列化。 我还可以看到get/set-in会话工作正常。 我该如何解决这个问题。 先谢谢你,普拉尚特

  • 问题内容: 下面的查询生成一行DNA序列 结果-dna CCCGGTTCTCCCCATGCAGG 我想生成10个随机DNA序列 问题答案: 像这样吗?

  • 在尝试从oracle11g数据库获取分页对象列表时,我面临一个很大的性能问题。 据我所知,以及我在网上查过的情况,在oracle11g中实现分页的唯一方法如下:示例:[页面=1,大小=100] 此查询中的问题是,从表“table\u NAME”中获取数据的最内部查询返回了大量数据,导致整个查询需要8秒钟(应用where子句后返回了大约200万条记录,其中包含9或10个join子句)。 这是因为最内

  • 我有一个grails web应用程序的列表函数。此列表将根据某些搜索条件填充表。Im使用hibernate createCriteria来尝试实现这一点。 在这种情况下,他们可以通过两个不同的关键特征进行搜索。用户名和用户号。 谢谢

  • 我有一个特定的要求,为一天生成一个唯一的序列号。即使有JVM重启,该实用程序也应该能够在不重复的情况下生成序列。 先决条件: 不应使用数据库序列 不应在文件系统中存储任何内容 序列可以在一天中重复 即使有JVM重启,序列也不应该在一天内重复(这已经通过不同的属性得到了保证) 每秒的序列号为最小要求99 序列格式:#########(最多8位) 注意:这将在不同的节点实例中运行,因此保留序列的第一位