1

我是新手,自学,所以请多多包涵...

当我试图在 GGTS 中映射我的 Personnel 类和我的 Probdata 类之间的一对多关系时,我已经为这个错误绞尽脑汁好几天了。

以下是一些代码片段:

package benefitsapplication

类人事{

static hasMany = [probations:Probdata,probterms:Probdata]
static mappedBy =  [probations:"lineNumber", probterms:"paysrId"]

// 静态 hasMany = [probations:Probdata] // 静态 mappedBy = [probations:"lineNumber"]

String lineNumber
String paysrId
    ....


package benefitsapplication

类概率数据 {

static belongsTo = [person:Personnel]


String lineNumber
String reportNumber
String paysrId
    ...

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

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

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

根据我自己的研究(我的书籍都没有涵盖),Mapping() 方法总是用于在类之间进行映射,但不一定使用 MappedBy() 方法。

简而言之,这就是我所缺少的吗?映射()方法?我也应该把它放在子表中吗?或者不一定?我需要 MappedBy() 方法吗?

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

4

1 回答 1

0

所以我在 Grails in Action 一书的出版商举办的论坛上提出了这个问题。作者回复了,非常有帮助。

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

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

于 2015-07-14T19:39:40.037 回答