2017-09-01 1 views
0

Je datamodel avec des entités:printemps dépôt JPA essayez de retourner différentes entités et lancer erreur

package mydomain.datamodel.serviceone; 

@Entity(name = "order") 
public class ServiceOneOrder { 

et

package mydomain.datamodel.servicetwo; 

    @Entity(name = "order") 
    public class ServiceTwoOrder { 

Chaque entité mappée à la table dans différents DB, mais ont des noms égaux. Mais les tables ont différentes colonnes

ServiceOneDB(first DB) 
    -orders 
    -Long id 
    -String field1 
ServiceTwoDb(second DB) 
    -orders 
     -String id 
     -Boolean field1 

Et je garde:

@Repository 
public interface ServiceOneOrderRepository extends CrudRepository<ServiceOneOrder, Long> { 
} 

Mais quand j'essaie

serviceOneOrderRepository.someQuery(findAll(), getOneById, etc.) 

ce dépôt me retourner ServiceTwoOrder au lieu ServiceOneOrder et jeter erreur.

Ces entités placées dans différents packeg, ont des noms différend (nom de classe), dans les services configure différen scan de paquet, seul le nom de l'entité est égal.

Et wha référentiel avec <OneEntity.class, Long> me retourner ?

+0

peut-être vous avez besoin de configurer différentes sources de données par référentiel –

Répondre

-1

Vous pouvez essayer de faire référence à Official Documentation pour configurer deux sources de données pour votre cas d'utilisation et injecter deux EntityManager/SessionFactory en fonction de l'ORM que vous utilisez.