我是新手并且正在自学,所以请忍受...
在尝试映射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/