gpt4 book ai didi

inheritance - GORM,继承的模型,递归链接

转载 作者:行者123 更新时间:2023-12-02 14:46:46 25 4
gpt4 key购买 nike

假设我们有书

class Book {

String title
String type="Book"
String author
Book parentBook // <----<<<
//...
}

我们将书籍扩展到其他类型
 class ReferenceBook extends Book {

String type="RefBook"

void setParentBook(Book b) {
if ((b && b.type) && (b.type=="RefBook")) {
parentBook = b
} else {
parentBook = null
}
}
}

当我执行此操作时,尝试为ReferenceBook设置父本时会收到java.lang.reflect.InvocationTargetException。

我知道我在这里想念什么...

最佳答案

使用鉴别功能:

  class Book {
String title
String author
Book parentBook // <----<<<
//...
static mapping = {
tablePerHierarchy false
discriminator column:[name:"discriminator", length:200, value:'Book']
}
}

class ReferenceBook extends Book {
//...
static mapping = {
discriminator column:[value:'RefBook']
}
void setParentBook(Book b) {
parentBook = ('RefBook' == b?.properties['class']) ? b : null
}

}

关于inheritance - GORM,继承的模型,递归链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8089429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com