Comment faire pour configurer le nom de la collection MongoDb pour une classe dans les données de printemps
J'ai une collection appelée Products
dans ma base de données MongoDB, qui est représenté par l'interface IProductPrice
dans mon code Java. La suite de dépôt de la déclaration des causes de Printemps Date d'oeil à la collection db.collection: Intelliprice.iProductPrice
.
Je veux le configurer pour qu'il regarde dans db.collection: Intelliprice.Products
à l'aide d'une configuration plutôt que de mettre un @Collection(..)
annotation sur IProductPrice
. Est-ce possible? Comment puis-je faire cela?
public interface ProductsRepository extends
MongoRepository<IProductPrice, String> {
}
source d'informationauteur Danish
Vous devez vous connecter pour publier un commentaire.
La seule façon que vous pouvez actuellement parvenir est par l'annotation de domaine de votre classe avec
@Document
à l'aide de lacollection
propriété pour définir le nom de la collection, les instances de cette classe doit être conservé.Cependant, il y a un JIRA problème ouvert que suggère l'ajout d'une enfichable stratégie de nommage pour configurer les moyens de la classe, de la collecte et de la propriété des noms sont traitées d'une façon plus globale. N'hésitez pas à commenter votre cas d'utilisation et de voter.
à l'aide de la réponse d'Oliver Gierke ci-dessus,
travailler sur un projet où j'ai besoin de créer plusieurs collections pour une entité, je voulais utiliser le printemps des dépôts et nécessaire de spécifier l'entité à utiliser avant d'utiliser le référentiel.
J'ai réussi à modifier le référentiel nom de la collection sur demande à l'aide de ce système, à l'aide de SPeL. Vous ne pouvez travailler que sur 1 collection à la fois.
De domaine objet
Par Défaut Printemps Référentiel:
De Dépôt Personnalisée De L'Interface:
mise en œuvre:
Pour l'utiliser:
Sinon, si vous avez besoin d'utiliser des variables de configuration, vous pourriez peut-être utiliser quelque chose comme cela? source