NutzCN Logo
问答 nutz自动建表,不能生成外键关系?
发布于 3184天前 作者 liqinghua188 2198 次浏览 复制 上一个帖子 下一个帖子
标签:

代理商和卡的关系,一对多
@Table("card")
public class Card {
@Id
private int id;
@Column("card_no")
private int cardNo;
@Column("password")
private String password;

@Column("agent_id")
private int agentId;

...get和set方法

}

@Table("agent")
public class Agent {
@Id
private int id;
@Column
private String username;
@Column
private String password;

@Many(target = Card.class, field = "agentId")
private List<Card> cards;

...get和set方法

}

执行后的建表语句如下:

CREATE TABLE agent(
id SERIAL,
username VARCHAR(50),
password VARCHAR(50),
CONSTRAINT agent_pkey PRIMARY KEY (id)
)

CREATE TABLE card(
id SERIAL,
card_no NUMERIC(8),
password VARCHAR(50),
agent_id NUMERIC(8),
CONSTRAINT card_pkey PRIMARY KEY (id)
)
只创建了主键。

4 回复

不会生成的,也不需要

@wendal 为什么不需要呢?例如我想实现,删除agent,其对应的card记录也都删除。如果没有外键关系就只能在代码中处理这个逻辑;如果有外键关系就可使用数据库on delete cascade 删除。

y,就是要代码管理,而非数据库管理。

你要加外键的话,自定义sql加上就是了。

好的~~thank you

添加回复
请先登陆
回到顶部