当前位置: 首页 > 面试题库 >

从Grails域的属性获取数据库列名称

戚高洁
2023-03-14
问题内容

我正在用我的域对象映射一堆旧表。有没有办法在Domain类中查找属性的数据库列名(反之亦然)?例如:

class Person {

String firstName
.
.
.
}

有没有一种方法可以使用firstName取回字符串“ FIRST_NAME”或“ first_name”?我尝试使用

GrailsDomainBinder.getMapping(Person).columns

但这仅出于某种原因为我提供了id列。谢谢!


问题答案:

好的,我认为这就是您要寻找的。给定以下域

class Company {    
  String name
  String logoUrl

  static mapping = {
    table 'people'
    name column: 'my_name'
    logoUrl column:  'lo_go_url'
  }
}

您可以使用以下命令检索域数据:

def result = GrailsDomainBinder.getMapping(Company).columns
println result['logoUrl'].column //prints 'lo_go_url'

您还可以使用以下闭合符打印出所有列名称:

result.each{ key, val -> // The key is the attribute name in the class (i.e. name, logoUrl)
  PropertyConfig prop = val // This is not needed, but I wanted to show the type being used. You could just call val.column below.
  println prop.column // This would print out 'my_name', 'lo_go_url'
}

希望这可以帮助!



 类似资料:
  • 问题内容: 如何获得特定表中的列名列表? IE。 火鸟表: 得到这样的列表: 问题答案: 如果要获取特定表中的列名列表,则这是您需要的sql查询: 我在firebird 2.5中尝试过此方法,并且可以正常工作。 顺便说一句,YOUR-TABLE-NAME周围的单引号是必需的

  • 我试图从Woocommerce的Wordpress网站上获取产品数据。我使用下面的代码获取特定类别产品的名称和缩略图。 这在获取“工具”类别中产品的名称和图像方面效果很好,但我想获取每个产品的权重。 产品重量在WordPress仪表板中设置为产品属性。 如何获取产品的这些数据?我似乎找不到访问这些的功能。

  • 问题内容: 我已经搜索了许多网站,但没有遇到任何从单个数据库获取表名的细节的代码或教程。 假设我有4个数据库,并且我想要数据库中所有表的名称,我可以使用什么查询? 问题答案:

  • 问题内容: 我想根据属性名称打印属性值,例如 我想做这样的事情 上面的代码给出了一个,我相信这是因为BeatifulSoup使用了name,所以它不能用作关键字参数。 问题答案: 这很简单,请使用以下代码- 如果不清楚,请发表评论。

  • 我有一节课: 值是唯一的,如何通过其值获取属性的名称? 通过反射,例如:

  • 用wordpress数据库编写自定义代码创建产品详细页面。 我已经显示了产品的标题,说明,价格,股票等,并与产品属性卡起来。在数据库中,_PRODUCT_Attributes以序列化的方式存储在数据库中的wp_postmeta表中。我也无法从中挖掘出属性。但是我发现,每个具有自己价格的属性值都存储在其他post_id中的wp_postmeta中。 例如,post_id=55的产品具有属性名“siz