Java JPA/Hibernate多对多与关联列和可空联接列
我使用PostgreSQL 9.4.5设置了三个表。删除了一些细节Java JPA/Hibernate多对多与关联列和可空联接列,java,hibernate,jpa,Java,Hibernate,Jpa,我使用PostgreSQL 9.4.5设置了三个表。删除了一些细节 Table: component id | bigint | not null default nextval('component_seq'::regclass) | Table: file id | bigint | not null default nextval('file_seq'::regclass) | Table: component_file id | bigint | not null
Table: component
id | bigint | not null default nextval('component_seq'::regclass) |
Table: file
id | bigint | not null default nextval('file_seq'::regclass) |
Table: component_file
id | bigint | not null default nextval('component_file_seq'::regclass) |
component_id | bigint | not null |
file_id | bigint | |
usage | text | not null |
本质上,它是一种多对多关系,在多对多联接表中有额外的列
cascade = { CascadeType.PERSIST, CascadeType.MERGE }
对于ComponentFile中的组件和文件@ManyToOne注释。尝试添加:
cascade = { CascadeType.PERSIST, CascadeType.MERGE }
对于ComponentFile中的Component和File@ManyToOne批注。由于您在
OneToMany
批注中指定了mappedBy
属性,请确保您也通过调用ComponentFile.setComponent(…)或ComponentFile.setFile(…)来设置关系的另一端
每当您将组件文件
添加到组件
或文件
实体中的数组列表时,都应进行适当的操作
如果您仍然看到相同的错误,或者您已经看到了相同的错误,那么发布实体创建和关联逻辑会有所帮助。由于您在OneToMany
注释中指定了mappedBy
属性,请确保您也通过调用ComponentFile.setComponent来设置关系的另一端(…)
或ComponentFile.setFile(…)
只要将ComponentFile
添加到Component
或File
实体中的数组列表中,就可以适当地执行此操作
如果您仍然看到相同的错误,或者您已经看到了相同的错误,发布实体创建和关联逻辑会有所帮助。这是我问题的根本原因…谢谢。这是我问题的根本原因…谢谢。
cascade = { CascadeType.PERSIST, CascadeType.MERGE }