0

在使用依赖项构建我的 Maven 项目时,我不断收到此错误:

Exception Description: The target entity of the relationship attribute 
[template] on the class [class pt.ipleiria.dae.entities.Configuration] 
cannot be determined.  When not using generics, ensure the target entity is 
defined on the relationship mapping.

我有这两个实体,代码如下: 配置:

@ManyToMany(mappedBy="configurations")
private Template template;
private String name;
private ConfigurationState state;
private String version;
private String description;
private List<Module> modules;
private List<Resource> resources;
private List<String> parameters;
private List<String> extensions;
private String contrato;

模板(关系的所有者):

@ManyToMany
@JoinTable(name="TEMPLATE_CONFIGURATIONS",
joinColumns=
    @JoinColumn(name="ID", referencedColumnName="ID"),
inverseJoinColumns=
    @JoinColumn(name="ID", referencedColumnName="ID")
)
private List<Configuration> configurations;

我想建立多对多的关系,因为“模板”包含多个“配置”,而“配置”可以在多个“模板”(配置)中。

4

1 回答 1

2

Generics通常,当您在定义Many关系的一侧时未定义时,您定义的异常就会出现,如下所述

尽管在您的情况下,还有其他问题。

由于您已经应用了和之间的@ManyToMany关系,因此它应该在配置实体中这样定义。ConfigurationTemplate

@ManyToMany(mappedBy="configurations")
 private List<Template> templates;

如果您要求配置只能在模板上具有,而模板可以具有多个配置,则应该使用OneToMany关系。在配置实体中,您将拥有:

@ManyToOne(mappedBy="configurations")
private Template template;

在模板实体中,您将拥有

@OneToMany
private List<Configuration> configurations;

希望这可以帮助!!

于 2018-12-23T13:39:18.657 回答