Стандартное соглашение об именах для методов DAO

Существует ли стандартное соглашение об именах для методов DAO, подобное JavaBeans?

Например, одно соглашение об именовании I 'видел, чтобы использоватьget() вернуть одну сущность иfind() вернуть список лиц.

Если нетт один, чтоКто использует вашу команду и почему?

Ответы на вопрос(2)

Решение Вопроса

Обычно я называю методы таким образом, что имя указывает на тип операции CRUD, которая будет применена методом, например,add*save* или же .find*

add* может применяться наINSERT операции, вроде.addPhoneNumber(Long userId)

get* может применяться дляSELECT операции, вроде.getEmailAddress(Long userId)

set* может применяться к методу, который выполняетUPDATE операция.

delete* может применяться наDELETE операции, какdeleteUser(Long userId), Хотя яЯ не совсем уверен, насколько полезным является физическое удаление. Лично я бы установил флаг, который означает, что строка не будет использоваться вместо физического удаления.

is* может быть применен к методу, который проверяет что-то, например.isUsernameAvailable(String username)

 Jordan Silva31 июл. 2015 г., 09:16
При переходе на уровень DAO мы не должны использовать то же наименование, что и в Model. Вместо 'получить' использоватьнаходить', вместо 'задавать' а также 'добавлять' использоватьОбновить', Также старайтесь быть более объектно-ориентированным, передавая объект модели, когда это возможно, особенно для обновления методов.
 Jean-Philippe Caruana13 дек. 2013 г., 18:20
Я также использую описательные имена в таких методах, как findAll *, чтобы добавить больше информации о намерениях

Мне известны соглашения, подобные следующим:

методы, начинающиеся сfind выполнятьselect операции и имена методов, содержащие критерии поиска, например,findByIdfindByUsernamefindByFirstNameAndLastName, так далее.

Методы модификации начинаются с,.createupdatedelete

Проверьте соглашения, используемыеSpring Data JPA, Это является частью среды Spring, которая автоматически записывает DAO на основе, среди прочего, проверки имени метода на основе соглашений об именах.

get() для отдельных сущностей не кажется хорошим вариантом, так как разработчики Java ассоциируют get с геттером Java-bean-компонента.

 Jean-Philippe Caruana13 дек. 2013 г., 18:22
Я согласился: найти намного лучше, чем получить (это всегда заставляет меня думать о добытчике). Также отлично, чтобы добавить критерии поиска в названиях методов.
 Mule26 февр. 2016 г., 16:55
Как насчет ситуаций, когда вы возвращаете F.Promise <SomeObject>? Будет ли ваше findByUsername стать findByUsernameAsync? Благодарю.

Ваш ответ на вопрос