Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我们在实体中使用嵌套的JoinColumn时,SQL数据库中会发生什么_Java_Sql_Spring_Many To One - Fatal编程技术网

Java 当我们在实体中使用嵌套的JoinColumn时,SQL数据库中会发生什么

Java 当我们在实体中使用嵌套的JoinColumn时,SQL数据库中会发生什么,java,sql,spring,many-to-one,Java,Sql,Spring,Many To One,我正在浏览一些代码,其中一个关联使用嵌套的@JoinColumn,如下所示: @ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY) @JoinColumns({@JoinColumn(name=“QuestId”),@JoinColumn(name=“GuildId”)}) 私人guildQuest guildQuest; 我明白,当我做以下事情时: @ManyToOne(cascade=CascadeType.ALL,fetch=F

我正在浏览一些代码,其中一个关联使用嵌套的
@JoinColumn
,如下所示:

@ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
@JoinColumns({@JoinColumn(name=“QuestId”),@JoinColumn(name=“GuildId”)})
私人guildQuest guildQuest;
我明白,当我做以下事情时:

@ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
@JoinColumns(name=“GuildQuestId”)
私人guildQuest guildQuest;
我正在表中创建一个名为
GuildQuestId
的列,该列具有实体
GuildQuests
的外键约束


但是,嵌套的
@JoinColumn
(第一个代码段)将做什么?

您的第一个代码段表示为同一关联指定多个外键

例如:

@ManyToOne
@JoinColumns({
    @JoinColumn(name="ADDR_ID", referencedColumnName="ID"),
    @JoinColumn(name="ADDR_ZIP", referencedColumnName="ZIP")
})
public Address getAddress() { return address; }
编辑: 实际上,您没有使用数据库中的(两个示例)创建任何外键。例如,如果使用Hibernate,Hibernate不会在数据库级别本身创建任何外键