Question

Je wan't séparer mon habitude la mise en œuvre du référentiel du package de domaine. Et, probablym quelques interfaces communes. Par exemple, je veux avoir une structure comme

  com
       domain
            Foo
            FooRepository
       common
            Bar
       persistence
            BarImpl

interface FooRepository extends Bar{}

<jpa:repositories base-package="com.domain" /> // smt else?

Comment je config cela?

Était-ce utile?

La solution

Le pick-up automatique de la classe référentiel ne fonctionne que si vous le placez dans le même paquet et utiliser le Postfix par défaut ou définir le suffixe à utiliser manuellement. Donc, dans votre scénario, vous auriez à placer un FooRepositoryImpl dans le paquet domain. Vous pouvez personnaliser le suffixe en utilisant l'attribut repository-impl-postfix. Si vous souhaitez placer la mise en œuvre dans un autre paquet que vous pouvez déclarer la fève de mise en œuvre personnalisée manuellement à l'aide fooRepositoryImpl comme id haricot. La classe peut alors résider dans un paquet que vous voulez.

Je suppose que Bar est l'interface contenant les déclarations de méthode personnalisée. En fait, nous vous recommandons de mettre à la fois l'interface de référentiel personnalisé et la mise en œuvre dans le paquet même et le rendre package protégé pour éviter d'être à la disposition des clients individuellement. De cette façon, tous les clients voient en réalité est l'interface référentiel unifié contenant des méthodes d'interrogation et les mises en œuvre manuellement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top