我正在尝试找出如何最好地为某些Grails域模型类实现自定义ID。要求是具有以年份开头的ID,后跟一个破折号和一个递增的数字(在下一年重置为0)。因此ID为:
2014-1
2014-2
2014-3
使用自定义ID的实际部分不是问题。我陷入困境的地方是找出始终增加我的ID的最佳方法。通常,数据库会处理增加ID并确保其唯一性的问题。但是,由于我将使用自定义ID,所以我想我需要处理它。是否有可能以某种方式让数据库参与进行某些独特的测试和增量?解决此问题的常用方法是什么?
顺便说一句,万一重要,我将在后端运行Oracle数据库。
最佳答案
如果有可能,应将其存储为域类的唯一属性,但应由数据库生成ID值。如果您绝对必须使用它作为ID,那么描述如何customizes the way the identifier for a domain class is generated的Grails文档应该可以帮助您入门。