Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
Hibernate查询Postgresql数据库时出现奇怪的表名-“关系不存在”_Hibernate_Postgresql_One To Many_Hibernate Annotations - Fatal编程技术网

Hibernate查询Postgresql数据库时出现奇怪的表名-“关系不存在”

Hibernate查询Postgresql数据库时出现奇怪的表名-“关系不存在”,hibernate,postgresql,one-to-many,hibernate-annotations,Hibernate,Postgresql,One To Many,Hibernate Annotations,我的问题是从这个错误开始的:关系标签\文章\标签不存在 从标记类: @Entity @Table(name = "tag") public class Tag { ... @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) private Set<ArticleTag> articleTags; ... 我已经激活了Hibernate的show_sql属性来进行一些调试,在某个时候它试图从这个表中选择一些东西

我的问题是从这个错误开始的:关系标签\文章\标签不存在

从标记类:

@Entity
@Table(name = "tag")
public class Tag {
...
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private Set<ArticleTag> articleTags;
...
我已经激活了Hibernate的show_sql属性来进行一些调试,在某个时候它试图从这个表中选择一些东西:tag_article_tag。我发现它与Tag类标记的名称和集合articleTags的名称有关,集合articleTags的元素类型为ArticleTag table name article_Tag。我已将名称从tag更改为tag1,错误是:tag1\u article\u tag


我知道这个问题在某种程度上与一组对象有关,但我不知道到底是什么。有什么想法吗?

当我发布这个问题时,我发现了问题:

在文章课上,我忘记了mappedBy字段

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private Set<ArticleTag> articleTags;
应包括mappedBy字段:

@OneToMany(**mappedBy="tag"**, cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private Set<ArticleTag> articleTags;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private Set<ArticleTag> articleTags;
@OneToMany(**mappedBy="tag"**, cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private Set<ArticleTag> articleTags;