J'ai très bien compris a quoi cela sert seulement je me suis retrouver dans plusieurs cas où :
1) Avec un gars soi-disant 40 ans de métier dans la bdd, où il m'explique qu'il se moquait des clef étrangères et relations, bref il ne travaillaient qu'avec des jointures. ( )
2) La quasi totalité des tuto Spring les mecs se moquent des clef étrangères, cependant dans certain blog d'autres respectes à la lettre ces relations.
Bref ma question est simple qu'elle est la bonne pratique à utiliser, professionnellement parlant ?
A) Dans ma bdd je declare pratiquement rien (ouste les contraintes et clef étrangères), mais je les declare tout de même dans ma couche java métier (Hibernate / JPA et model) et du coup c'est hibernate qui gère la coherence)
B) Je declare toutes les relations et contraintes dans la bdd, puis je refais de mêmes dans la couche java métier. (voir point A).
Dans le point A la bdd sert juste de système de persistance pour les données et perd toutes coherences si l'on utilise pas le code java associé.
Dans le point B cela ressemble à une double sécurité inutile à moins de perdre le code applicatif.
Je peux très bien comprendre que B est à privilégié dans certaines structures où certain standard sont à respecter à la lettre (banque, grosse entreprise, etc.).
Seulement, je suis actuellement sur un petit projet de serveur back end sous Spring pour un petit site e-commerce pouvant évoluer vers une application SaaS haute disponibilité et hautement scalable sur le long terme et donc pour le moment (à court terme) le point A me parait amplement suffisant.
Du coup ça à l'air bon où je n'ai rien compris, selon vous ?