соглашения об именах при отображении O / R - PullRequest
3 голосов
/ 02 июня 2009

Я сопоставляю свои таблицы базы данных с моими объектами Java. Обычно я называю свои таблицы в форме множественного числа в том смысле, что таблица с информацией о книгах называется КНИГАМИ. Однако объект java представляет одну книгу и должен называться Book. Аналогично для авторов / авторов и т. Д.

С другой стороны, это своего рода упрощенно, чтобы дать то же самое объекту домена и таблице.

Есть ли какое-то соглашение об именах, которому следуют люди? Я предполагаю, что это относится к приложениям в целом, а не только к отображению O / R.

Ответы [ 6 ]

8 голосов
/ 02 июня 2009

Ваши первые мысли на месте.

Объекты должны быть единичными, так как каждый объект индивидуален.

Таблицы должны быть во множественном числе, так как таблица содержит все.

Ознакомьтесь с соглашениями об именах, встроенными в Ruby on Rails, они актуальны.

5 голосов
/ 03 июня 2009

Мы используем единственное число для имен таблиц и для классов OM. Для меня имеет больше смысла говорить

person.last_name

чем

people.last_name

пишу ли я SQL или Java (где, конечно, это будет person.lastName, но вы поймете)

1 голос
/ 02 июня 2009

Я использую SubSonic в своем приложении ASP.NET, и у меня есть это лишить множественное число при именовании классов ActiveRecord. Это больше вопрос стиля, чем стандарта.

Я предпочитаю работать с Invoice, а не Invoices, потому что я обычно имею дело с 1 записью за раз.

0 голосов
/ 30 июля 2011

jOOQ генерирует классы Java из вашей схемы базы данных. Классы, моделирующие таблицы, будут называться так же, как и сама таблица, например

  • AUTHOR> Author
  • BOOKS> Books

К классам, моделирующим объекты (или записи), добавляется суффикс "Record":

  • AUTHOR> AuthorRecord
  • BOOKS> BooksRecord

Это довольно интуитивно понятно и универсально, независимо от того, как называются ваши таблицы. См

http://www.jooq.org

0 голосов
/ 03 июня 2009

CJ Date не использует множественные имена и вы не должны. Единственным исключением является слово «ПРОДАЖА». Кроме этого, используйте уникальные имена.

Сравнить

user.email =? и account.value в (1,2,3)

до

users.email =? и счета.значение в (1,2,3)

или (худший вариант)

users.email =? и account.values ​​в (1,2,3)

0 голосов
/ 02 июня 2009

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

Таким образом, Книги становятся чем-то вроде DbBooks, Авторы становятся DbAuthors и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...