当前位置: 首页 > 知识库问答 >
问题:

下面的SQL是什么GORM(grails)标准?

雷方伟
2023-03-14

grails GORM的SQL标准是什么

订单表:

  • 订单ID
  • CustomerID
  • 订购日期

客户表:

  • CustomerID
  • 客户名
  • 联系人姓名
  • 国家

请注意,“Orders”表中的“CustomerID”列指的是“客户”表中的“CustomerID”。上面两个表之间的关系是“CustomerID”列。然后,我们可以创建以下SQL语句(包含一个INNER JOIN),它选择两个表中具有匹配值的记录:强文本

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

Sql将使用这些列生成这些数据

  • 订单ID
  • 客户名
  • 订购日期

GORM型号:

class Order{

Long orderId
Long customerId
def orderDate
}

class Customer{

Long customerID
Long customerName
def contactName
def country
}



共有1个答案

赫连睿
2023-03-14

我想创建一个与您在这里描述的持久性模型相匹配的对象模型。

class Customer {
    String customerName
    String contactName
    String country

    static mapping = {
        table 'Customers'
        version false
        id column: 'CustomerID'
        customerName column: 'CustomerName'
        contactName column: 'ContactName'
        country column: 'Country'
    }
}
class Order {
    Customer customer
    Date orderDate

    static mapping = {
        table 'Orders'
        version false
        id column: 'OrderID'
        customer column: 'CustomerID'
        orderDate column: 'OrderDate'

    }
}

执行如下查询:

Order.findAll {
    createAlias 'customer', 'cust'
    projections {
        property 'id'
        property 'orderDate'
        property 'cust.customerName'
    }
}

这将产生如下SQL:

select this_.OrderID as y0_, this_.OrderDate as y1_, cust1_.CustomerName as y2_ from Orders this_ inner join Customers cust1_ on this_.CustomerID=cust1_.CustomerID
 类似资料:
  • 问题内容: 是否可以使用GORM标准执行“输入”标准。我正在寻找以下SQL的等效项 如果可能的话,我猜语法会像这样: 问题答案: Grails createCriteria文档包含一个使用子句的示例: 该文档包括以下说明: 注意:“ in”是一个时髦的保留字,因此必须用引号将其转义。

  • 问题内容: 我正在编写一个小型Grails应用程序,并且在运行以下相当简单的代码时,我继续获得StaleObjectStateException:s约占“ createfoo”调用的1/10:th。很可能我错过了使用GORM的最佳方法。 这是代码: 我对GORM最佳做法的疑问: “ if-validate()-then-save()-else-discard()”是否是在GORM中持久保存新对象的

  • 问题内容: 我正在尝试在GORM中定义树结构。这是我的模型: 插入似乎可以正常工作,但是当我无法加载具有多个级别和子级别的Tree时。我想我在关系中错过了一些东西:-树应该引用rootLevel(以及可选地引用所有子级别)-一个级别应该引用其父级别,其子级别和全局父树 您能指出我正确的方向以获得这样的树结构吗?谢谢 问题答案: 我最终得到了这个解决方案(感谢朋友): 和 我错过了Tree和Leve

  • 主要内容:SQL 的用途,SQL 简史,SQL 执行过程,SQL 命令SQL 是一种操作数据库的语言,包括创建数据库、删除数据库、查询记录、修改记录、添加字段等。SQL 虽然是一种被 ANSI 标准化的语言,但是它有很多不同的实现版本。 ANSI 是 American National Standards Institute 的缩写,中文译为“美国国家标准协会”。 SQL 是 Structured Query Language 的缩写,中文译为“结构化查询语言”。S

  • 问题内容: 我知道什么是标记接口-没有方法的接口。示例:可序列化,远程,可克隆。 我想知道标记界面的目的是什么。这是我的理解: 基本上只是从普通对象中识别特殊对象。像序列化的情况一样,需要序列化的对象必须实现可序列化的接口,并且线下的writeObject()方法必须检查某个地方是否为可序列化的实例。据我认为,那是writeObject使用接口serializable(标记接口)的唯一目的。对?还

  • 主要内容:1. SQL Server体系结构SQL Server是由Microsoft开发和销售的关系数据库管理系统或RDBMS。 与其他RDBMS软件类似,SQL Server构建于SQL之上,SQL是一种用于与关系数据库交互的标准编程语言。 SQL Server与Transact-SQL或T-SQL绑定,后者是Microsoft的SQL实现,它添加了一组专有的编程结构。 SQL Server专门在Windows环境中工作超过20年。 2