hibernate - 在GGTS中映射一对多关系

标签 hibernate grails gorm one-to-many ggts

我是新手并且正在自学,所以请忍受...

在尝试映射GGTS中的Personnel类和Probdata类之间的一对多关系时,我花了好几天的时间才解决这个错误。

以下是一些代码段:

package benefitsapplication

类人员{
static hasMany = [probations:Probdata,probterms:Probdata]
static mappedBy =  [probations:"lineNumber", probterms:"paysrId"]

//静态hasMany = [probations:Probdata]
//静态mappingBy = [试用期:“lineNumber”]
String lineNumber
String paysrId
    ....


package benefitsapplication

Probdata类{
static belongsTo = [person:Personnel]


String lineNumber
String reportNumber
String paysrId
    ...

我首先尝试使用2个对象(复合键)进行映射,然后尝试使用一个。每次,我得到相同的错误:

“错误加载插件管理器:为类[benefitsapplication.Personnel]中的属性[probations]指定了不存在的映射属性[lineNumber]”

然后,GGTS说使用--stacktrace来获取详细信息(我不知道它在哪里或如何运行)

基于我自己的研究(我的书都没有涉及),Mapping()方法始终用于在类之间进行映射,但是不一定使用MappedBy()方法。

简而言之,这就是我所缺少的吗? Mapping()方法?我还应该将它放在子表中吗?还是不一定?我需要MappedBy()方法吗?

相关问题-最初,我对两个对象都使用了“试用”标识符。在尝试进行故障排除时,我改变了这一点。这有关系吗?

最佳答案

因此,我在《 Grails in Action》一书的出版商主持的论坛中提出了这个问题。作者回应,非常有帮助。

他解释说,MappedBy()和Mapping()方法专门处理同一类类型的类内的对象。例如,如果我有2个人员类型的对象。

MappedBy()和Mapping()不适用于不是域类型类的String类型的对象。

关于hibernate - 在GGTS中映射一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31139661/

相关文章:

java - 具有自动增量的主/详细信息关系。是否可以立即坚持它们?

grails - Grails-尝试包含HTPPBuilder-链接错误

grails - 具有1:N关系的Grails GORM MissingMethodException

grails - 实体未保存

grails - Grails显示未调用父类(super class)的 Action

hibernate - Grails 3.2中的域对象上是否存在默认的gorm list方法的默认最大值

mysql - Hibernate 奇怪的行为与 @OneToMany 和更新

java - JPA Hibernate - 将 MySQL 复合键映射到 JPA (Hibernate) 实体

mysql - 如何在 Openshift Tomcat 7 (JBOSS EWS 2.0) 中设置 Hibernate MySQL 连接?

macos - imagemagick和grails中的问题