[Seasar-user:19952] S2Dao-CodeGen 生成されたコードの楽観的排他制御のアノテーション出力について
Yohei Tsuji
[E-MAIL ADDRESS DELETED]
2010年 7月 7日 (水) 17:00:39 JST
S2Dao-CodeGen)開発担当様
お世話になっております、辻と申します。
S2Dao-CodeGen を試用しているのですが、以下のような現象が発生しております。
原因、および対処方法がございましたらご教授頂けませんでしょうか?
【やりたいこと】
・S2Dao の楽観的排他制御に、バージョンNO ではなく タイムスタンプを使いたい。
・タイムスタンプのカラム名は、timestamp としたい。
【使用環境】
・Maven 2.2.1
・S2Dao-Codegen 0.4.0
【発生している現象】
・pom.xml で 「timestampPropertyName=timestamp」を指定して mvn codegen:generate で
コード生成したのですが、生成されたエンティティクラスのアノテーションが
期待した通りに出力されません。
=== pom.xml =========================================================
<?xml version="1.0" encoding="UTF-8"?>
<project>
:
<dependencies>
:
<dependency>
<groupId>org.seasar.dao-codegen</groupId>
<artifactId>codegen-lib</artifactId>
<version>0.4.0</version>
</dependency>
:
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.seasar.dao-codegen</groupId>
<artifactId>maven-codegen-plugin</artifactId>
<version>0.4.0</version>
<configuration>
<inputFile>ER.jer</inputFile>
<timestampPropertyName>timestamp</timestampPropertyName>
<identityType>sequence</identityType>
<packageName>test</packageName>
<dbClass>org.seasar.codegen.dbms.Derby</dbClass>
<outputDDL>true</outputDDL>
<encoding>UTF-8</encoding>
<sequenceMapping>
<TEST>TEST_ID</TEST>
</sequenceMapping>
</configuration>
</plugin>
</plugins>
</build>
:
<repositories>
<repository>
<id>maven.seasar.org</id>
<name>The Seasar Foundation Maven2 Repository</name>
<url>http://maven.seasar.org/maven2</url>
</repository>
<repository>
<id>maven-snapshot.seasar.org</id>
<name>The Seasar Foundation Maven2 Snapshot Repository</name>
<url>http://maven.seasar.org/maven2-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>maven.seasar.org</id>
<name>The Seasar Foundation Maven2 Repository</name>
<url>http://maven.seasar.org/maven2</url>
</pluginRepository>
</pluginRepositories>
</project>
==================================================================
=== 期待するコード =============================================
@org.seasar.dao.annotation.tiger.Bean(table = "TEST", timestampProperty = "timestamp")
public abstract class AbstractTest {
:
}
==================================================================
=== 生成されたコード =============================================
@org.seasar.dao.annotation.tiger.Bean(table = "TEST", versionNoProperty = "timestampPropertyName")
public abstract class AbstractTest {
:
}
==================================================================
また、これと関連する現象としまして、以下のようにバージョンNoを使用する場合に、
プロパティ名を明示的に指定しても、コードに反映されない(必ず versionno になってしまう)
現象も起こっています。
=== pom.xml ======================================================
<configuration>
:
<versionNoPropertyName>ver</versionNoPropertyName>
:
=======================================================
=== 生成されたコード =============================================
@org.seasar.dao.annotation.tiger.Bean(table = "BREED", versionNoProperty = "versionno")
public abstract class AbstractTest {
:
}
==================================================================
よろしくお願い致します。
--
/**
* Yohei Tsuji
* [E-MAIL ADDRESS DELETED]
*/
Seasar-user メーリングリストの案内