Как сохранить имя человека в таблице записей


Вступление

Черт, это сложнее, чем я думал.

У некоторых людей естьверблюжьи имена , такие как McDonald или O'Ferncher, а у некоторых нетдвуствольного имени, нодефисное имя , как Bowes-Lyon или простоданное имя , как Honovi Hohnihhohkaiyohos ( сильный Волк с высокой спиной ). В некоторых культурных пространствах, таких как:

  • португальский у вас есть больше, чем 1 фамилия и больше, чем 1 имя (по умолчанию).
  • Россия ты иметь отчество (отчество ), то естьобязательное .
В некоторых местах у вас есть гендерное неравенство, и для формального обращения к человеку вам нужно использовать префикс , например: Sir (где пол может быть мужским, женским и промежуточным). И да, префикс меняется в зависимости от возраста человека.

Как это не достаточно - люди могут и будут жениться (это происходит довольно часто) (вы можете сделать это несколько раз), и этопо умолчанию обычай для по крайней мере один партнер должен изменить свою фамилию. В большинстве мест люди могут изменить свое имя или, по крайней мере, данное имя. текст Alt

Подробнее

Это не важно, если вы хотите ответить на вопрос, просто давая намек, что я пытаюсь сделать.

Таблицы, в которых я хочу хранить имена, находятся в xml и хранилище данных appengine с интерфейсом хранилища объектов twig (я использую twig среди прочего, поскольку он позволяет мне скомпилировать схему). Сами данные могут поступать из разных мест, и, вероятно, существует случай, когда используется старое имя (так называемое хранение нескольких имен).

Мое лучшее предположение:

@XmlAttribute @Key protected Long id;
@XmlElement(required = true) final protected List<String> lastName;
@XmlElement(required = false) protected String middleName;
@XmlElement(required = true) final protected List<String> firstName;
@XmlElement(required = true) protected Boolean isMale;
@XmlElement(required = true) protected Date birthday;
//+locale for naming?

Написание функции или предварительных условий для метода compareTo просто делает мой день ... Я серьезно рассматриваю отказоустойчивость 0. Да, наличие или отсутствие апострофов, пробелов и других символов или различие в регистре может привести к различным результатам. (А для циничных ублюдков-это не так домашнее задание.)

Вопрос заключался в следующем: Как сохранить имя человека в таблице записей?

1 4

1 ответ:

Если вы ищете простое, универсальное решение, я думаю, вы обнаружите, что его нет. Прочитайте это сообщение в блоге и плачьте.

А когда вы закончите плакать, взгляните на этот документ, который пытается смоделировать имена для американской аудитории. Очевидно, что он делает много упрощающих предположений, которые, вероятно, неверны.