处理外键

时间:2013-12-28 03:18:32

标签: scala playframework postgresql-9.2 playframework-2.2 anorm

我找到了一种在Play中定义主键的方法:

case class User(id: Pk[Long], name: String)

但我没有找到任何处理外键的方法。是否有任何人或者我必须将其用作普通场?

1 个答案:

答案 0 :(得分:1)

您可以将其视为普通字段。

顺便提一下,您可以查看样本游戏!框架应用。你可以在Play中找到它们!在“样本”文件夹中分发。例如,检查计算机数据库项目。数据库中有外键,但在代码中它们被视为普通字段。

演进:

create table company (
  id                        bigint not null,
  name                      varchar(255) not null,
  constraint pk_company primary key (id))
;


 create table computer (
  id                        bigint not null,
  name                      varchar(255) not null,
  introduced                timestamp,
  discontinued              timestamp,
  company_id                bigint,
  constraint pk_computer primary key (id))
;
alter table computer add constraint fk_computer_company_1 foreign key (company_id) references company (id) on delete restrict on update restrict;

代码:

case class Computer(id: Pk[Long] = NotAssigned, name: String, introduced: Option[Date], discontinued: Option[Date], companyId: Option[Long])