我有一个使用EJB3的现有EE应用程序并连接到MySQL数据库。我基本上需要修改一些实体,然后手动编写对数据库的修改以实现修改。
具体来说,我需要将以下内容添加到名为“TICKET”的实体中:
@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE})
private List<Attachment> attachements = new ArrayList<>();
注意:连接是单向的。
我如何将关系创建为SQL语句?
答案 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数据结构。