ODM: домен в элементе содержит недопустимую запись
Я получаю следующую ошибку при попытке синхронизировать динамический домен, полученный из базы данных:
Домен в элементе '[domain object]' содержит недопустимую запись: '[entry]'.
Кажется, что это происходит только для значений, которые начинаются с цифр или не буквенных символов. Вот мои доменные значения:
И это ошибки:
Обратите внимание, что только первые две записи домена приводят к ошибкам. Существуют ли ограничения на то, какие имена могут использоваться для динамических доменов?
1 ответ
Имена элементов домена подчиняются тем же правилам, что и имена переменных Java:
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html
Вы можете начать с чего-то вроде этого:
public String normalize(String str) {
String result = str;
if (Pattern.matches("^\\d\\w*$", result)) {
result = "_" + result;
}
return result.replaceAll("[^A-Za-z0-9]", "_");
}
... для удаления не буквенных / цифровых символов из имен элементов и добавления к ним подчеркивания в том случае, если они начинаются с цифры, как в вашем примере.