アクセッサーつきのエンティティを生成するには?
id:agtさんからの要望ですが、今のところ、テンプレートファイルを差し替える以外の方法はないです。優先度はちょっと低めになってしまいますが、将来的にはAntタスクでuseaccessor="true"のように指定できるようにしようと思います。
アクセッサーを生成するテンプレートファイルを作ってみたのでもし必要であれば使ってみてください。(S2JDBC-Gen 0.9.1でうまく生成できます。)
使用方法はこちら見てみてください。S2JDBC-Genでテンプレートファイルを差し替えるには
アクセッサーつきエンティティのためのテンプレートファイル
<#include "/copyright.ftl"> <#if packageName??> package ${packageName}; </#if> <#list importNameSet as importName> import ${importName}; </#list> /** * ${shortClassName}エンティティクラスです。 * * @author S2JDBC-Gen */ @Entity <#if catalogName?? || schemaName?? || tableName?? || compositeUniqueConstraintModelList?size gt 0> @Table(<#if catalogName??>catalog = "${catalogName}"</#if><#if schemaName??><#if catalogName??>, </#if>schema = "${schemaName}"</#if><#if tableName??><#if catalogName?? || schemaName??>, </#if>name = "${tableName}"</#if><#if compositeUniqueConstraintModelList?size gt 0><#if catalogName?? || schemaName?? || tableName??>, </#if>uniqueConstraints = { <#list compositeUniqueConstraintModelList as uniqueConstraint>@UniqueConstraint(columnNames = { <#list uniqueConstraint.columnNameList as columnName>"${columnName}"<#if columnName_has_next>, </#if></#list> })<#if uniqueConstraint_has_next>, </#if></#list> }</#if>) </#if> public class ${shortClassName} { <#list attributeModelList as attr> <#if attr.unsupportedColumnType> /** * FIXME このプロパティに対応するカラムの型(${attr.columnTypeName})はサポート対象外です。 */ <#else> /** ${attr.name}プロパティ */ </#if> <#if attr.id> @Id <#if !hasCompositeId()> @GeneratedValue </#if> </#if> <#if attr.lob> @Lob </#if> <#if attr.temporalType??> @Temporal(TemporalType.${attr.temporalType}) </#if> <#if attr.transient> @Transient </#if> <#if attr.version> @Version </#if> <#if !attr.transient> @Column(<#if attr.columnName??>name = "${attr.columnName}", </#if><#if attr.columnDefinition??>columnDefinition = "${attr.columnDefinition}", <#else><#if attr.length??>length = ${attr.length}, </#if><#if attr.precision??>precision = ${attr.precision}, </#if><#if attr.scale??>scale = ${attr.scale}, </#if></#if>nullable = ${attr.nullable?string}, unique = ${attr.unique?string}) </#if> private ${attr.attributeClass.simpleName} ${attr.name}; </#list> <#list associationModelList as asso> /** ${asso.name}関連プロパティ */ @${asso.associationType.annotation.simpleName}<#if asso.mappedBy??>(mappedBy = "${asso.mappedBy}")</#if> <#if asso.joinColumnModel??> @JoinColumn(name = "${asso.joinColumnModel.name}", referencedColumnName = "${asso.joinColumnModel.referencedColumnName}") <#elseif asso.joinColumnsModel??> @JoinColumns( { <#list asso.joinColumnsModel.joinColumnModelList as joinColumnModel> @JoinColumn(name = "${joinColumnModel.name}", referencedColumnName = "${joinColumnModel.referencedColumnName}")<#if joinColumnModel_has_next>,<#else> })</#if> </#list> </#if> private ${asso.shortClassName} ${asso.name}; </#list> <#list attributeModelList as attr> public ${attr.attributeClass.simpleName} <#if attr.attributeClass.getSimpleName()?matches("[bB]oolean")>is<#else>get</#if>${attr.name?cap_first}() { return ${attr.name}; } public void set${attr.name?cap_first}(${attr.attributeClass.simpleName} ${attr.name}) { this.${attr.name} = ${attr.name}; } </#list> <#list associationModelList as asso> public ${asso.shortClassName} get${asso.name?cap_first}() { return ${asso.name}; } public void set${asso.name?cap_first}(${asso.shortClassName} ${asso.name}) { this.${asso.name} = ${asso.name}; } </#list> }