加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – SORM:如何声明外键?

发布时间:2020-12-16 18:40:38 所属栏目:安全 来源:网络整理
导读:我对SORM非常感兴趣,但是当我尝试使用它时,我遇到了问题.假设我有两个实体: case class User(login: String,firstName: String,lastName: String)case class UserSite(userId: Int,name: String,url: String) 如何声明外键关系UserSite.userId – 用户身份
我对SORM非常感兴趣,但是当我尝试使用它时,我遇到了问题.假设我有两个实体:

case class User(login: String,firstName: String,lastName: String)
case class UserSite(userId: Int,name: String,url: String)

如何声明外键关系UserSite.userId – >用户身份?我看到类ForeignKey,但没有任何使用它的例子.

谢谢.

解决方法

展示SORM力量的绝佳机会.

如SORM的Features所示,它抽象出所有关系概念.这包括外键.

外键抽象是通过对要使用外键引用的这些实体的自然直接引用提供的.因此,不应将userId指向User的id,而应使用user属性指向User本身:

case class User(login: String,lastName: String)
case class UserSite(user: User,url: String)

在引擎盖下,这将完全转化为您想要使用外键实现的目标.但问题是你不必关心它.

旁注.使用SORM时,您应该按照Scala中的方式设计模型,几乎没有任何限制,在设计模型时,您绝对应该抛弃所有习惯的关系概念.这就是SORM的方式.

关于文档和库结构.该方法非常简单:如果没有记录,则不打算将其用作公共API的一部分.此外,对于SORM的当前(v.0.3.x)结构,公共API的所有组件都驻留在sorm._包中,因此另一个规则是,如果不存在,则不适用于公共API.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读