2012-06-06 4 views
4

J'essaie de me connecter à plusieurs bases de données dans Play 2.0. Voici comment mon application.conf ressemble à:Jouez! Framework 2.0 se connecter à plusieurs bases de données

db.default.driver= com.mysql.jdbc.Driver 
db.default.url="jdbc:mysql://localhost:3306/scg2?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8&autoreconnect=true" 
db.default.user=root 
db.default.jndiName=DefaultDS 

db.scg2_shard1.driver= com.mysql.jdbc.Driver 
db.scg2_shard1.url="jdbc:mysql://localhost:3306/scg2_shard1?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8&autoreconnect=true" 
db.scg2_shard1.user=root 
db.scg2_shard1.jndiName=ShardDS_1 

Et voici comment l'persistence.xml ressemble

<persistence-unit name="defaultPersistenceUnit" transaction-type="RESOURCE_LOCAL"> 
    <provider>org.hibernate.ejb.HibernatePersistence</provider> 
    <non-jta-data-source>DefaultDS</non-jta-data-source> 
    <properties> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/> 
     <property name="hibernate.show_sql" value="true"/>   
    </properties> 
</persistence-unit> 

<persistence-unit name="shardPersistenceUnit_1" transaction-type="RESOURCE_LOCAL"> 
    <provider>org.hibernate.ejb.HibernatePersistence</provider> 
    <non-jta-data-source>ShardDS_1</non-jta-data-source> 
    <properties> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/> 
     <property name="hibernate.show_sql" value="true"/>   
    </properties> 
</persistence-unit> 

Les connexions sont correctement initialisés et je peux exécuter correctement les requêtes SELECT. Cependant, les insertions OU les mises à jour ne semblent pas fonctionner sur la connexion "scg2_shard1" (tout fonctionne sur la connexion "par défaut"). Des indications sur ce que je fais mal et où dois-je commencer à chercher pour rectifier ce problème?

+0

BTW, pour ajouter: Je persiste à l'aide d'objets JPA.em() persistent (entité) (par défaut) et JPA.em ("scg2_shard1".) .persist (entity) (pour le tesson) – user1439306

+0

Avez-vous une erreur ou quelque chose? Et êtes-vous sûr que l'utilisateur de la base de données a les bons privilèges? –

+1

L'utilisateur de la base de données dispose des privilèges corrects. Cependant, après une enquête plus approfondie, j'ai compris quel était le problème. – user1439306

Répondre

1

ajouter cette ligne à votre application.conf

jpa.scg2_shard1=shardPersistenceUnit_1 
Questions connexes