2012-02-08 13 views
2

JTAトランザクション(休止)

<properties> 
    <property name="hibernate.bytecode.use_reflection_optimizer" value="false"/> 
    <property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/> 
    <property name="hibernate.connection.password" value="passsample"/> 
    <property name="hibernate.connection.url" value="jdbc:oracle:thin:urlsample"/> 
    <property name="hibernate.connection.username" value="usersample"/> 
    <property name="hibernate.default_schema" value="schemasample"/> 
    <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>   
</properties> 

問題は、トランザクションタイプ= "JTA"を使用し、jta-data-sourceを使用することが必須かどうかです。 必須の場合は、理由を教えてください。 私は何をする必要がない場合は?

glassfishでアプリケーションを設定しようとしていて、すべてが外部データソース(glassfishで設定されています)でうまく動作しますが、春とプロパティのすべてですべてを構成したいと思います。

これにはどのような解決策がありますか?

答えて

1

JTAトランザクションタイプの場合、<jta-data-source>を定義する必要があります。しかし、RESOURCE_LOCAL(JTA以外)を使用している場合は、<non-jta-data-source>です。

指定されていない場合は、JTAがデフォルトのトランザクションタイプです。これらの要素は、データソースを指定するために使用されます。通常、データソースを参照するためのグローバルなJNDI名です。

JTAのトランザクションは、複数の永続ユニット/データベース&(JMSなど)を横断して移動できます。通常、JTAはJava EEで使用されます& RESOURCE_LOCALはJava SE環境で使用されます。

+0

私の質問は実際には:RESOURCE_LOCALトランザクションタイプを使用すると、通常、私は非jta-data-sourceを持つべきですが、私はまだプロパティを使用して、データソースを持たないデータベース。 JTAトランザクションタイプを使用する可能性はありますか?データソースなしのプロパティのみを使用してデータベースに接続するには? –

+0

@Mirea既に前述したように、RESOURCE_LOCAL&non-jtaは同じです。 JTAはベンダー固有であり、コンテナの責任です。しようとしているのは、データソースを使わずにデータベースと直接接続することです。 JTAでは、これらのすべてのプロパティを設定ファイルに記述し、そのコンテナの責任はデータソースを使用することを推奨します。 –

関連する問題