在 Grails 中将自定义 id 生成定义为默认值的最佳方法是什么?

2024-03-07

我想切换我的域类以使用可变长度的 UUID 作为其 id。我不想简单地在 URL 上显示连续的 id 供人们尝试和搞乱。我编写了一个自定义版本的 Java UUID 方法来允许可变长度,这样我就可以为不会变大的模型使用更短的 id。

我发现这个线程解释了如何修改默认映射,以便我可以更改为“已分配”。修改 Grails 插件的 ID 生成 https://stackoverflow.com/questions/2033807/modify-id-generation-for-a-grails-plugin

配置默认的 beforeInsert (以生成自定义 UUID)并告诉 Grails 我想使用字符串而不是整数作为 id 的最佳方法是什么?

我尝试添加grails.gorm.default.beforeInsert到配置,但这不起作用。


要使 grails 使用字符串作为 id,只需声明一个属性String id。要使用自定义 UUID 填充它,我将使用 hibernate id 生成器而不是 beforeInsert。创建一个扩展类org.hibernate.id.IdentifierGenerator,然后将像这样的 id 生成器映射添加到您的域类中:

class MyIdGenerator extends IdentifierGenerator {
    Serializable generate(SessionImplementor session, Object object) {
        return MyUUID.generate()
    }
}

class MyDomain {
    String id
    static mapping = {
        id generator:"my.package.MyIdGenerator", column:"id", unique:"true"
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Grails 中将自定义 id 生成定义为默认值的最佳方法是什么? 的相关文章

  • 根据传递给控制器​​的参数动态创建查询

    在我的任务管理应用程序中 用户应该能够根据以下条件过滤任务 assignedTo priority status and or dueDate 我不确定如何创建动态查询 因为它将根据可用参数构建查询 例如 如果我有一个网址 例如 task
  • 如何在会话中存储石英作业的结果?

    我已经在 Grails 2 1 应用程序中安装了 Quartz 插件 每 5 分钟就会触发一个作业来计算一些数字 这些数字显示在每个页面的侧栏上 计算结果会经常变化 我的目标是当用户刷新屏幕时 他们可以在侧边栏上看到新结果 现在我的方法是将
  • 如何在 grails 3 中运行单个集成测试?

    Grails 3 至少 3 1 10 在仅运行特定测试时不稳定 如何让它运行单个集成测试 这是运行单个集成测试的示例命令 grails test app LoginFunctional integration 如果将 integration
  • Grails 命令对象:如何将 request.JSON 加载到其中?

    Question 有没有办法使用 request JSON 数据进行自动命令对象绑定 在我的 grails 控制器中给出这个简单的 Command 对象 class ProfileCommand int id String companyN
  • 在 Spring MVC 中管理 HTML 资源(CSS、JS 文件)

    是否可以像grails resources那样在Spring MVC中管理HTML资源 与此类似 http www anyware co uk 2005 2011 09 12 optimising your application with
  • 使用 GORM 根据子表中的列进行排序?

    我有一个名为员工和子表地址的表 现在我想使用 GORM 获取地址表中按地址1排序的员工列表 Employee findAllByName name max maxRecords offset 100 sort Address address
  • 从 IntelliJ 调试 Grails 应用程序

    我一直在努力从 IntelliJ 内部调试 Grails 2 5 0 应用程序 具体来说 我发现很难配置该应用程序 以便 功能测试可调试 可以运行功能测试 该应用程序可以调试 该应用程序可以运行 当 1 和 2 从 IntelliJ 版本
  • 如何自定义 Grails Spring Security Core 2 登录/注销控制器和视图?

    我正在使用新的 Grails Spring Security Core 2 0 插件 并且想知道如何自定义登录视图和 LoginController LogoutController 该插件的早期版本生成了这些文件 但现在看来我必须将它们从
  • Grails:如何更改默认视图位置?

    我有控制器AdminTagController 默认情况下视图将位于 adminTag文件夹 是否可以将此控制器的默认文件夹更改为 admin view 我可以为每个方法指定视图 但这并不酷 谢谢 可以用以下命令更改它拦截器后 http g
  • 如何对 Grails 应用程序进行并发修改测试

    我想运行测试来模拟用户同时修改 Grails 应用程序的某些数据 我可以使用任何插件 工具 机制来有效地做到这一点吗 它们不必是特定于 grails 的 应该可以并行触发多个操作 我更愿意在功能级别上运行测试 到目前为止我正在使用 Sele
  • 从控制器传递 gsp 参数

    我如何通过不是域类实例的控制器将参数传递到groovy服务器页面 您将参数放入返回给 GSP 的模型对象映射中 例如 def index def hobbies basketball photography render view inde
  • Grails - 错误分叉 Grails VM 因错误退出

    首先 我想说 我是 Grails 的初学者 在尝试遵循一些示例时 我不断收到无法解决的错误 如果问题很愚蠢 那么很抱歉 我通过命令行创建了一个虚拟应用程序 并尝试以相同的方式运行它 run app 但出现以下错误 运行 Grails 应用程
  • Chrome 和 JSESSIONID

    chrome 出现以下问题 我已经在服务器上运行 Grails 1 3 7 应用程序 我注意到 当我从 Chrome 请求静态内容 例如非动态 html 文件 时 Chrome 会创建两个 JSESSIONID Cookie 第一个是登录窗
  • 如何使用 Spring Resource.groovy 正确注入 Grails 服务

    使用 Grails 2 2 1 我定义了以下 Grails 服务 package poc class TestService def helperService class HelperService 我已经用过TestService如下
  • 空白约束和空约束之间的区别

    空白约束和空约束有什么区别 我有以下课程 class Task String title String notes TekUser assignedTo Date dueDate TekEvent event static constrai
  • 转换 Java -> Grails ... 如何加载这些属性?

    我正在将 Java Web 应用程序转换为 Grails 1 2 1 在我的 Java 应用程序中 我有一个从 properties 文件加载属性的单例 我已经看到我可以将其加载到 Config groovy conf 文件中 如果我的属性
  • Grails 渲染 PDF 文件

    我正在尝试在网页中呈现 PDF 文件 但使用以下语法时 我得到了一个奇怪的字符组合 render file new File path to file pdf fileName myPdfFile pdf 有谁知道除了上面的行之外我还需要添
  • Spring IO 这个名字是什么意思? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 2013 年秋季 Spring 推出了新网站 spring io http spring io 并宣布了其新平台 弹簧IO http sp
  • Grails 默认包名称

    我是 Grails 的新手 而且非常喜欢它 我想将我的课程放在像这样的包中org company project module model 重复对我来说很痛苦create domain class
  • Grails - 如何对 addTo* 进行单元测试

    是否可以在 Grails 中对 addTo 函数进行单元测试 感谢您的帮助 文档第 9 1 节中说 http grails org doc latest guide 9 20Testing html 9 1 20Unit 20Testing

随机推荐