Convention de Nommage pour les Méthodes DAO
Est-il une convention de nommage pour les méthodes DAO, semblable à JavaBeans?
Par exemple, une convention de nommage que j'ai vu est à utiliser get()
pour retourner une seule entité et find()
pour retourner une Liste d'entités.
Si il n'existe pas, qu'est-ce que votre équipe est à l'aide et pourquoi?
OriginalL'auteur Tom Tucker | 2013-12-07
Vous devez vous connecter pour publier un commentaire.
Généralement j'ai le nom de l'méthodes de manière à ce que le nom laisse le type de l'opération CRUD qui sera appliqué par la méthode, comme
add*
,save*
oufind*
.add*
peut être appliqué surINSERT
opérations, commeaddPhoneNumber(Long userId)
.get*
peut être appliqué pourSELECT
opérations, commegetEmailAddress(Long userId)
.set*
peut être appliqué sur la méthode qui effectue uneUPDATE
opération.delete*
peut être appliqué surDELETE
opérations, commedeleteUser(Long userId)
. Bien que je ne suis pas sûr quelle est l'utilité de la physique supprimer. Personnellement, j'aurais mis un drapeau qui indique que la ligne n'est pas va être utilisé, plutôt que d'effectuer un physique supprimer.is*
peut être appliqué sur une méthode de vérifier quelque chose, par exempleisUsernameAvailable(String username)
.Lorsque vous allez à la couche DAO, il ne faut pas utiliser le même nom que dans le Modèle. Au lieu de 'get' utiliser 'trouver', au lieu de " set " et "ajouter" utilisation "mise à jour". Aussi, essayez d'être plus Orienté Objet en passant le modèle objet, lorsque cela est possible, spécialement pour les méthodes de mise à jour.
OriginalL'auteur Konstantin Yovkov
Je suis conscient des conventions comme suit:
méthodes en commençant par
find
effectuerselect
opérations, et les noms de méthode contenant les critères de recherche, commefindById
,findByUsername
,findByFirstNameAndLastName
, etc.méthodes de modification de commencer avec
create
,update
,delete
.Découvrez les conventions utilisées par Spring Data JPA. C'est une partie du framework Spring qui écrit les DAOs automatiquement sur la base, entre autres choses, de l'inspection du nom de la méthode basée sur les conventions de nommage.
get()
pour la seule entités ne semble pas être une bonne option, comme obtenir est associée par les développeurs Java pour Java-bean getter.Qu'en cas de retour d'un F. Promesse<SomeObject>? Votre findByUsername devenir findByUsernameAsync? Merci.
OriginalL'auteur Angular University