gpt4 book ai didi

grails - 如何获取db字段数据通用类型而不将其添加到我的grails域类中?

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

我正在使用grails项目,该项目使用大型的第三方数据库,其中包含许多表,每个表中都有许多字段。我们采用了根据需要将这些字段手动添加到我们的域类中的方法。

我想对所有字段进行系统访问,我想知道是否有一种方法可以在不将其添加到我的域类的情况下进行。例如,如果我知道列名,那么我想知道数据库中的数据类型(即,它是否是字符串,double,int,bool,date)。

我不需要以编程方式访问这些字段,因为我可以使用第三方供应商提供的REST API与这些表进行交互。我只想知道是否可以确定他们期望的数据类型。

我发现grails有一个反向工程插件,但是我不确定那是我想要的,因为我不想创建一个域类,我只想要这样的东西:

// this is what I work for fields I've added to the domain class
Type works = MyDomainClass.getDeclaredField("declaredFieldName").genericType
// is there a way to do this without adding it to the domain class?
Type needed = someAPI(MyDomainClass,"unDeclaredFieldName")

最佳答案

检查反向工程插件正在使用的hibernate tools。具体来说,它将创建一个DatabaseCollector:

DatabaseCollector readDatabaseSchema(String catalog, String schema) {
catalog = catalog ?: settings.defaultCatalogName
schema = schema ?: settings.defaultSchemaName

JDBCReader reader = JDBCReaderFactory.newJDBCReader(cfg.properties, settings,revengStrategy, cfg.serviceRegistry)
DatabaseCollector dbs = new MappingsDatabaseCollector(mappings, reader.metaDataDialect)
reader.readDatabaseSchema dbs, catalog, schema, new ReverseEngineerProgressListener()
dbs
}

关于grails - 如何获取db字段数据通用类型而不将其添加到我的grails域类中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41168259/

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