如何在grails中为域类生成自定义字母数字ID?

时间:2013-06-06 06:30:07

标签: java grails groovy

专家

我有一个doming名称客户我一直在使用默认的自动增量值或GORM来处理我的ID。但是,现在我想将id更改为自动生成6个字母数字字符,你知道它们必须是唯一的吗?那我该怎么办呢?请?

2 个答案:

答案 0 :(得分:2)

亲爱的:

public static String getAlphaNumbericRandom(int length) {
         String chars = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

            int numberOfCodes = 0;//controls the length of alpha numberic string
            String code = "";
            while (numberOfCodes < length) {
                char c = chars.charAt((int) (Math.random() * chars.length()));
                code += c;
                numberOfCodes++;
            }
            return code;
        }

调用此方法并传递长度(例如4,5等)

答案 1 :(得分:0)

将id属性定义为ObjectId可以生成12个字母数字字符的id