1
我想利用groovy比java更具动态的优势。 我想有代码,不会我可以在对象而不是类中调用GORM“find”方法吗?
TypeA type = //do something to build an object
TypeA dbType = TypeA.findBySomethingAndSomething(something, somethingelse)
if(dbType != null)
type.id = dbType.id
type.save()
但可以支持相同findBySomethingAndSomething方法多个对象的工作块。
是否可以说
def type = //do something to build an object
def dbType = type.findBySomethingAndSomething(type.identifier, type.otheridentifier)
if(dbType != null)
type.id = dbType.id
type.save()
是否有“更好”的方式来做到这一点? 我试图避免一个大的switch语句或if/else系列对每种类型做基本相同的事情。
考虑使用的getClass()代替。在这种情况下不会有太大的改变 - 但是如果'instance'是Map,这是一个很好的习惯。 – 2010-02-03 02:57:34
良好的建议约翰,当测试通过地图模拟实例时,这让我感到了几次 - 我已经更新了我的回复。 – 2010-02-03 03:25:22