将squeryl版本从0.9.4升级到0.9.13

时间:2018-12-14 09:48:35

标签: scala orm sbt squeryl

我正在将项目从旧的scala版本升级到最新版本,并且我目前拥有squeryl 0.9.4并将其升级到0.9.13。 我的项目已编译并运行良好,但是我从数据库中获取数据时遇到了问题。

我的查询是

**

val order: Option[OrderData] = {
        from(OrderSchema.orders) { o => {
          where(o.transactionId === transactionId) select(o)
        }} headOption
      }

**

此查询生成的查询在select语句中没有任何列名。

从Postgresql日志中获取的生成的SQl:

绑定到S_5 2018-12-13 17:28:06.705 EET [3408]日志:执行S_5:选择     从       “ OrderProductData”“ OrderProductData1”     哪里       (“ OrderProductData1”。“ transactionId” = $ 1) 2018-12-13 17:28:06.705 EET [3408]详细信息:参数:$ 1 ='11000015'

使用旧版本生成的旧SQL是

绑定到 2018-12-14 11:51:01.221 EET [3231]日志:执行:选择       将“ OrderProductData16”。“名称”作为“ OrderProductData16_name”,       “ OrderProductData16”。“数量”作为“ OrderProductData16_quantity”,       “ OrderProductData16”。“ lastModified”作为“ OrderProductData16_lastModified”,       “ OrderProductData16”。“ vatPercent”作为“ OrderProductData16_vatPercent”,       “ OrderProductData16”。“ priceExVat”作为“ OrderProductData16_priceExVat”,       “ OrderProductData16”。“ totalPrice”作为“ OrderProductData16_totalPrice”,       “ OrderProductData16”。“ id”作为“ OrderProductData16_id”,       “ OrderProductData16”。“状态”为“ OrderProductData16_status”,       “ OrderProductData16”。“ productEan”作为“ OrderProductData16_productEan”,       “ OrderProductData16”。“ productId”作为“ OrderProductData16_productId”,       “ OrderProductData16”。“ unitPrice”作为“ OrderProductData16_unitPrice”,       “ OrderProductData16”。“ priceVat”作为“ OrderProductData16_priceVat”,       将“ OrderProductData16”。“折扣”作为“ OrderProductData16_discount”,       “ OrderProductData16”。“ owQuantity”作为“ OrderProductData16_owQuantity”,       “ OrderProductData16”。“ transactionId”作为“ OrderProductData16_transactionId”     从       “ OrderProductData”“ OrderProductData16”     哪里       (“ OrderProductData16”。“ transactionId” = $ 1) 2018-12-14 11:51:01.221 EET [3231]详细信息:参数:$ 1 ='11000015' 如您所见,查询中没有任何列,因此我得到的结果带有模型类中定义的默认值。

我没有更改配置中的任何内容,因为它已编译并运行。 我只是在架构类中更改了以下初始化代码。

新代码是:

val myTables = new scala.collection.mutable.ArrayBuffer[Table[_]]
  override protected def table[T](name: String)(implicit manifestT: Manifest[T], ked: OptionalKeyedEntityDef[T,_]): Table[T] = {
    val t = super.table[T](name)(manifestT,ked)
    myTables.append(t)
    t
  }

旧代码为:

val myTables = new scala.collection.mutable.ArrayBuffer[Table[_]]
  override protected def table[T](name: String)(implicit manifestT: Manifest[T]): Table[T] = {
    val t = super.table[T](name)(manifestT)
    myTables.append(t)
    t
  }

0 个答案:

没有答案
相关问题