首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ScalikeJDBC中使用SQLSyntaxSupport时找不到列名

在ScalikeJDBC中使用SQLSyntaxSupport时找不到列名
EN

Stack Overflow用户
提问于 2017-08-04 17:16:03
回答 1查看 304关注 0票数 0

我有一个模型,如下所示。

代码语言:javascript
运行
复制
case class House (
    id: Int,
    name: String,
    cityId: Int,
    leaseInterval: Interval
)

case class Interval(start: ZonedDateTime, end: ZonedDateTime)

我的表定义如下。

代码语言:javascript
运行
复制
CREATE TABLE houses(
  id INT AUTO_INCREMENT NOT NULL PRIMARY KEY ,
  name VARCHAR(255),
  city_id INT NOT NULL,
  start_at datetime DEFAULT NULL,
  end_at datetime DEFAULT NULL,
);

我正在尝试编写一个方法,在MySQL数据库中保存一个房子,如下所示。

代码语言:javascript
运行
复制
val c = House.column
val id = sql"insert into ${House.table} (${c.name}, ${c.cityId}, ${c.startAt}, ${c.endAt}) values (${name}, ${cityId}, ${startAt}, ${endAt})".stripMargin.updateAndReturnGeneratedKey.apply()

但是我得到了下面的编译错误。

代码语言:javascript
运行
复制
House#startAt not found. Expected fields are #id, #name, #cityId, #leaseInterval.

对于c.endAt列,我也得到了同样的错误。

我做错了什么吗?如果我使用c.column("start_at"),这个错误就会消失。

EN

Stack Overflow用户

发布于 2017-11-22 23:30:54

似乎你的房屋类和房屋表之间的不匹配可能是导致它的原因。您还需要Interval中的列,或者将startAt和endAt放入您的House类中。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45502853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档