Я знаю, что это обсуждалось довольно много раз, но я застрял на этой ошибке.Я использую Spring Roo 1.3.2 с Hibernate, и я получаю сообщение об ошибке, так как
azure_cost_enterprise_account [azure_cost_root_account])) должно иметь такое же количество столбцов, что и ссылочный первичный ключ (azure_cost_root_account [id_, id])
@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class AzureCostEnterpriseAccount {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "azure_cost_enterprise_account_seq")
@SequenceGenerator(name = "azure_cost_enterprise_account_seq", sequenceName = "azure_cost_enterprise_account_id_seq", allocationSize = 1)
private Long id;
@NotNull
private Long createdAt;
private Long updatedAt;
@NotNull
private Long enrollmentNumber;
@NotNull
@Column(columnDefinition = "text")
private String enrollmentAccessKey;
@OneToOne(cascade = CascadeType.ALL,fetch=FetchType.LAZY)
private AzureCostRootAccount azureCostRootAccount;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "azureCostEnterpriseAccount", fetch = FetchType.LAZY)
private Set<AzureCostTenant> azureCostTenants = new HashSet<>();
}
Вот второй класс, и я пытаюсь установить однонаправленные двусторонние отношения между ними.
@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class AzureCostRootAccount {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "azure_cost_root_account_seq")
@SequenceGenerator(name = "azure_cost_root_account_seq", sequenceName = "azure_cost_root_account_id_seq", allocationSize = 1)
private Long id;
@NotNull
@Column(name = "name")
private String accountName;
@NotNull
@Enumerated(EnumType.STRING)
private AzureAccountType azureAccountType;
@NotNull
private Boolean isDeleted;
@NotNull
private Long createdAt;
private Long modifiedAt;
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private Customer customer;
@OneToOne(cascade = CascadeType.ALL, mappedBy = "azureCostRootAccount", fetch = FetchType.LAZY)
private AzureCostEnterpriseAccount azureCostEnterpriseAccount;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "azureCostRootAccount", fetch = FetchType.LAZY)
private Set<AzureCostSubscription> azureCostSubscriptions = new HashSet<>();
@OneToMany(cascade = CascadeType.ALL, mappedBy = "azureCostRootAccount", fetch = FetchType.LAZY)
private Set<AzureCostRootAccountAccess> azureCostRootAccountAccesses = new HashSet<>();
}
Может кто-нибудь объяснить мне, почему я получаю эту ошибку икак я могу решить это.