我是Roo的新手,这是我的第一个勘探项目基地:
// Spring Roo 1.2.5.RELEASE [rev 8341dc2] log opened at 2014-07-28 18:39:08
project --topLevelPackage this.is.my.package --projectName my-project
entity jpa --class ~.domain.Equipment --testAutomatically --activeRecord --inheritanceType JOINED
field string --fieldName name
field string --fieldName weight
field number --type int --fieldName cost
field enum --fieldName coinType --type ~.domain.CoinType
entity jpa --class ~.domain.Armor --extends ~.domain.Equipment --testAutomatically --activeRecord
field enum --fieldName category --type ~.domain.ArmorCategory --notNull --column CATEGORY
field number --type int --fieldName bonus --class ~.domain.Armor --value 0
perform tests
web mvc setup
web mvc all --package ~.web
exit
当我运行应用程序时,我创建并保存了一个装甲实例。列出设备列表时,我可以看到我新创建的装甲,我甚至可以将其编辑为设备类。但是,当我尝试保存时,我收到了错误。
这是我的问题:如何防止装甲的实例被列入"设备"部分只显示在他们自己的部分:"护甲"部分?我的意思是,实现它的最佳方法是什么?
注意:设备类可以单独使用,这就是它不是抽象类的原因。稍后,我将创建其他子类设备。
由于
Gear
的新抽象类,其中包含所有设备的属性。@RooJpaActiveRecord(inheritanceType = "JOINED")
注释从Equipment类移到了Gear类。我还将其类型更改为" TABLE_PER_CLASS"。我运行了以下命令:
perform tests
web mvc setup
web mvc all --package ~.web
exit
然后我使用众所周知的mvn tomcat:run
现在,在创建了一些武器后,我将List all Equipments
链接剔除,它是空的;就像我预期的那样。只有当我点击List all Armors
链接时,我才能看到这些武器。
我并不认为这是最好的方法,但它有效。有人有更好的解决方案吗?