手动为MySQL创建@OneToMany脚本

时间:2014-02-27 15:31:14

标签: mysql sql

我有一个使用EJB3的现有EE应用程序并连接到MySQL数据库。我基本上需要修改一些实体,然后手动编写对数据库的修改以实现修改。

具体来说,我需要将以下内容添加到名为“TICKET”的实体中:

@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE})
private List<Attachment> attachements = new ArrayList<>();

注意:连接是单向的。

我如何将关系创建为SQL语句?

1 个答案:

答案 0 :(得分:0)

SQL中这种关系的合理映射是使用外键来限制映射到Attachment实体的表中的“父”实体id值:

CREATE TABLE attachments (
...
ticket_id INTEGER,
...
FOREIGN KEY (ticket_id) REFERENCES tickets(id) ON DELETE CASCADE ON UPDATE CASCADE
)

连接方向(无论是单向还是双向)不会影响SQL数据结构。