Должно иметь то же количество столбцов, что и указанный первичный ключ - PullRequest
0 голосов
/ 19 октября 2018

Я знаю, что это обсуждалось довольно много раз, но я застрял на этой ошибке.Я использую 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<>();


}

Может кто-нибудь объяснить мне, почему я получаю эту ошибку икак я могу решить это.

...