2012-06-06 4 views
4

Play 2.0에서 여러 데이터베이스에 연결하려고합니다.재생! Framework 2.0에서 여러 데이터베이스에 연결 중

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 

를 여기에 연결이 제대로 초기화되고 내가 제대로 SELECT 쿼리를 실행할 수 있습니다

<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> 

처럼 persistence.xml을 보이는 방법은 다음과 같습니다 여기 내 application.conf처럼 보이는 방법입니다. 그러나 모든 삽입 또는 업데이트가 "scg2_shard1"연결에서 작동하지 않는 것처럼 보입니다 (모든 것이 "기본"연결에서 작동 함). 무엇을 잘못하고 무엇을하고 어떤 문제에 대한 해결책을 찾아야합니까? 내가 JPA.em()를 사용하여 개체를 지속 유지 (엔티티) (기본값 용) 및 JPA.em ("scg2_shard1".

+0

Btw는 당신의 application.conf이 줄을 추가) .persist (실체) (샤드) – user1439306

+0

오류가 있습니까? 그리고 데이터베이스 사용자가 올바른 권한을 가지고 있는지 확인하십시오? –

+1

데이터베이스 사용자에게 올바른 권한이 있습니다. 그러나 추가 조사에서 문제가 무엇인지 알아 냈습니다. – user1439306

답변

1

단지 추가,

jpa.scg2_shard1=shardPersistenceUnit_1 
관련 문제