我想从xml创建一些域对象。Grails:数据绑定
class A {
String name
}
class B {
A a
int something
}
我首先创建了A的一个实例,并刷新了。在创建B时,首先映射可用属性。
def b = new B(xml.attributes())
这将映射“东西”正确的,但不是对象类型A.所以,我检索的实例,并添加像
b.a = A.findByA("id of a")
我能看到对象B构造(包括字段填充)在调试器中,但它不会保存在保存(flush:true)。
- 有什么不对上述assignemt,还是应该使用id来代替(b.a.id = ..)
- 我怎么能看到什么是日志文件的问题呢?哪条跟踪需要启用。我能有在配置文件中
跟踪'org.hibernate.SQL', 'org.hibernate.type'
(这给插入,选择等,但不针对上述情况,可能是因为它没有达到冬眠SQL跟踪)。
任何指针,高度赞赏..谢谢。
+1您的建议。 failOnError显示验证错误。 IllegalStateException:无法将[java.lang.String]类型的值转换为属性“A”所需的类型[com.bsr.test.A]:没有找到匹配的编辑器或转换策略] 我不明白为什么将对象视为字符串,正如我所解释的,在我的IDE中,对象在赋值后正确填充。我正在查看BindData或其他一些方法来添加这个复杂的领域。 – bsr 2010-04-27 21:33:29
没有看到来自您的应用程序的更多代码,我无法帮助诊断这个额外的问题。看来,在验证时,该变量是一个字符串,当该对象是预期的。 – 2010-04-28 14:31:42