Spring JPA изменить таблицу, создав дополнительный столбец - PullRequest
0 голосов
/ 25 сентября 2019

Я реализую приложение Spring-JPA.В классе модели я использую аннотацию @Table для сопоставления таблицы с классом модели и с именем столбца, используя аннотацию @column для сопоставления переменной с конкретным именем столбца в этой таблице.Но всякий раз, когда я выполняю приложение, в таблицу добавляется дополнительный столбец.Я не хочу, чтобы это имя столбца по умолчанию.

Класс модели:

@Entity
@Table(name="xyz",catalog ="test")
public class ModelTest {
      @Id
      private String cas_Id;
      @Column(name="cas_CaseNumber")
      private String cas_case_number;
      @Column(name="cas_ContactId")
      private String cas_contact_id;
      @Column(name="cas_AccountId")
      private String cas_account_id ;
      @Column(name="cas_OwnerId")
      private String cas_owner_id ;
      private String cas_Type;
      private String cas_Status;
      private String cas_Subject;
      @Column(name="cas_ClosedDate")
      private String cas_closed_date ;
      private String acc_Id;
      private String acc_Name;
      private String acc_Type;
      @Column(name="acc_ParentId")
      private String acc_parent_id ;
      @Column(name="acc_BillingStreet")
      private String acc_billing_street;
      @Column(name="acc_BillingCity")
      private String acc_billing_city;
      @Column(name="acc_BillingState")
      private String acc_billing_state ;
      @Column(name="acc_BillingPostalCode")
      private String acc_billing_postal_code;
      @Column(name="acc_BillingCountry")
      private String acc_billing_country;
      @Column(name="acc_ShippingStreet")  
        private String acc_shipping_street;
//with setter and getter

in the console:

Hibernate: alter table test.xyz add column cas_case_number varchar(255)
Hibernate: alter table test.xyz add column cas_contact_id varchar(255)
Hibernate: alter table test.xyz add column acc_billing_city varchar(255)
Hibernate: alter table test.xyz add column acc_billing_country varchar(255)
Hibernate: alter table test.xyz add column acc_billing_postal_code varchar(255)
Hibernate: alter table test.xyz add column acc_billing_state varchar(255)
Hibernate: alter table test.xyz add column acc_billing_street varchar(255)

Я не могу понять, почему этот запрос таблицы изменений будет выполнен, поскольку у меня уже есть этот столбец, определенный в моемкласс сущности.

1 Ответ

0 голосов
/ 25 сентября 2019

Та же проблема, с которой я столкнулся через некоторое время.

Чтобы решить эту проблему, я внес некоторые изменения в свой файл application.properties,

application.properties

spring.jpa.hibernate.ddl-auto=validate

надеюсь, что это работает для вас.

...