Spring Roo 1.1.0.M1 [rev 3a0b8a3]で試した結果です
entityコマンド
- JPAの永続性エンティティクラスを作成する
- 作成済みエンティティクラスに対しては実行できない
- 作成済みクラスを変更したい場合は、直接変更する
リファレンス
オプション
--class [className]
--table [tableName]
- データベースのテーブル名を[tableName]としてエンティティクラスを作成する
- テーブル名とクラス名を分けたい場合に指定する
- 運用中のテーブルが残念な名前であっても、ソースを残念にしなくて済む
--permitReservedWords
roo> entity --class ~.domain.TestEntity
Entity name rejected as conflicts with test execution defaults; please remove 'Test' and/or 'TestCase'
--testAutomatically
- UnitTestのひな形を作成してくれる
- 後からtest integrationコマンドを実行したのと同じ効果
--identifierType [typeName]
--identifierColumn [columnName]
--identifierField [fieldName]
- 一意キーに使用するカラムを指定する
- 何も指定しないと、[columnName]と[fieldName]がid、[typeNmae]がjava.lang.Longで作成される
- 複合キーなどはできないみたい?
--abstract
- エンティティクラスをabstractとして作成する
--extends [extendsClassName]
- [extendsClassName]を親クラスとして指定する
- プロジェクト内のクラスしか指定できないみたい
roo> entity --class MyDate --extends java.util.Date Unable to locate requested type'java.util.Date'
--serializable
- @RooSerializableアノテーションが付く
--inheritanceType [typeName]
使い方
ふつうに
roo> entity --class ~.domain.SandboxEntity --testAutomatically
Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\SandboxEntity.java Created SRC_TEST_JAVA\com\example\roo\sandbox\domain\SandboxEntityDataOnDemand.java Created SRC_TEST_JAVA\com\example\roo\sandbox\domain\SandboxEntityIntegrationTest.java Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\SandboxEntity_Roo_Entity.aj Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\SandboxEntity_Roo_ToString.aj Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\SandboxEntity_Roo_Configurable.aj Created SRC_TEST_JAVA\com\example\roo\sandbox\domain\SandboxEntityIntegrationTest_Roo_Configurable.aj Created SRC_TEST_JAVA\com\example\roo\sandbox\domain\SandboxEntityDataOnDemand_Roo_DataOnDemand.aj Created SRC_TEST_JAVA\com\example\roo\sandbox\domain\SandboxEntityIntegrationTest_Roo_IntegrationTest.aj Created SRC_TEST_JAVA\com\example\roo\sandbox\domain\SandboxEntityDataOnDemand_Roo_Configurable.aj
テーブルオプション付きで
roo> entity --class ~.domain.TableOptionEntity --table options --identifierField seqence --identifierColumn seq --ide ntifierType java.lang.Integer
Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\TableOptionEntity.java Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\TableOptionEntity_Roo_Entity.aj Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\TableOptionEntity_Roo_ToString.aj Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\TableOptionEntity_Roo_Configurable.aj
その他
エンティティクラスの削除
- .javaファイルを消すと、rooが起動中ならほぼ即時に、起動中でなければ次の起動時に勝手に削除される
- rooコマンドには無いっぽい
- エンティティを作成
~.domain.SimpleEntity roo> entity --class ~.domain.DeleteEntity
Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\DeleteEntity.java Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\DeleteEntity_Roo_Entity.aj Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\DeleteEntity_Roo_ToString.aj Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\DeleteEntity_Roo_Configurable.aj
[Timer-0] Deleted SRC_MAIN_JAVA\com\example\roo\sandbox\domain\DeleteEntity_Roo_ToString.aj [Timer-0] Deleted SRC_MAIN_JAVA\com\example\roo\sandbox\domain\DeleteEntity_Roo_Entity.aj [Timer-0] Deleted SRC_MAIN_JAVA\com\example\roo\sandbox\domain\DeleteEntity_Roo_Configurable.aj
エンティティクラスのリネーム
- rooコマンドには無いっぽい
- エンティティを作成
roo> entity --class ~.domain.RenameEntity
Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\RenameEntity.java Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\RenameEntity_Roo_Entity.aj Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\RenameEntity_Roo_ToString.aj Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\RenameEntity_Roo_Configurable.aj
[Timer-0] Deleted SRC_MAIN_JAVA\com\example\roo\sandbox\domain\RenameEntity_Roo_ToString.aj [Timer-0] Deleted SRC_MAIN_JAVA\com\example\roo\sandbox\domain\RenameEntity_Roo_Entity.aj [Timer-0] Deleted SRC_MAIN_JAVA\com\example\roo\sandbox\domain\RenameEntity_Roo_Configurable.aj
[Timer-0] Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\RenameAfterEntity_Roo_Entity.aj [Timer-0] Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\RenameAfterEntity_Roo_ToString.aj [Timer-0] Created SRC_MAIN_JAVA\com\example\roo\sandbox\domain\RenameAfterEntity_Roo_Configurable.aj [Timer-0] Deleted SRC_MAIN_JAVA\com\example\roo\sandbox\domain\RenameEntity_Roo_ToString.aj [Timer-0] Deleted SRC_MAIN_JAVA\com\example\roo\sandbox\domain\RenameEntity_Roo_Entity.aj [Timer-0] Deleted SRC_MAIN_JAVA\com\example\roo\sandbox\domain\RenameEntity_Roo_Configurable.aj