gpt4 book ai didi

grails - 如何将来自不同对象的值存储在一个表中

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

在我的代码中,我有带有一些字符串字段的“Book”类和具有一些静态方法的“BookKey”字段,只有一个具有字符串“key”值的字段。我的问题是如何仅在“Book”表中存储此“键”值(而不与BookKey ID的关系)?

我不想在数据库中创建表“BookKey”。我只希望表“Book”具有列:“Key”,“Title”和“Description”,其中“Key”是BookKey对象的String值。
我知道如果我不想创建表,则必须使用static瞬变= ['key'],但是我不知道如何将来自不同对象的值存储在一个表中。

class BookKey{
public final String key;

public BookKey(){
this.key="key-undefined"
}

public BookKey(String key){
this.key=key;
}

static BookKey generate(){
String uuid = UUID.randomUUID().toString();
String key="book-"+uuid;
return new BookKey(key)
}

static BookKey from(String key){
return new BookKey(key)
}
}

public class Book {
BookKey key=BookKey.generate();
String title;
String description;

static transients = ['key']

static mapping = {
key column: 'bKey'
}
}

最佳答案

将BookKey类放入src/groovy中,并将您的域类配置为使用embedded。来自文档的示例:

class Person {
String name
Country bornInCountry
Country livesInCountry

static embedded = ['bornInCountry', 'livesInCountry']
}

// If you don't want an associated table created for this class, either
// define it in the same file as Person or put Country.groovy under the
// src/groovy directory.
class Country {
String iso3
String name
}

关于grails - 如何将来自不同对象的值存储在一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19272769/

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