使用Java bean作为Grails域类

有许多类似的问题,但我无法确切地找到如何在grails应用程序中使用POJO模型。 考虑以下Java Bean:

package com.example.java; public class UserBean { String name; String surname; Integer age; //--- assume setters and getters here } 

和grails域类:

 package com.example.grails class User extends com.example.java.UserBean { static constraints = { name(blank:false) surname() age() } } 

和scaffold = true的伴侣控制器。 我不确定这是否可行,但我没有看到任何暗示的东西。 这个编译并运行正常,直到我尝试从生成的视图中添加新用户。 然后我明白了

 org.hibernate.MappingException: Unknown entity: com.example.grails.User 

有任何想法吗?

你的hibernate.cfg.xml什么样的?

确保映射了com.example.grails.User类:

       

可以找到更多详细信息: http : //grails.org/doc/1.0.x/guide/15.%20Grails%20and%20Hibernate.html

我找到了这个问题的答案: 这个spring.io博客文章

如果您的Java域类是hibernate映射的,则不要将它们扩展为grails。 您所要做的就是在名为UserBeanConstraints.groovy的单独文件中定义约束:

 constraints = { name(blank:false) surname() age() }