获取域对象的所有属性的地图的最佳方法是什么,不包括关联?特别是我需要排除hasMany
关联(集合。)
现在我正在硬连接要排除的属性列表:
def p = someBook.properties
p = p.subMap(p.keySet() - ['authors', 'editors', 'formats'])
我确保properties
返回一个惰性集合,就subMap()和keySet()而言,这样就不会从数据库中实际提取被排除的属性。
但我宁愿不对协会列表进行硬编码。
答案 0 :(得分:1)
通过从properties
中删除键值对来排除所有关联。
someBook.properties.findAll { !( it.key in someBook.hasMany?.keySet() ) }