Spring org.hibernate.tool.schema.spi.CommandAcceptanceException:运行Junit时执行DDL时出错

Spring org.hibernate.tool.schema.spi.CommandAcceptanceException:运行Junit时执行DDL时出错,spring,postgresql,spring-boot,hibernate,junit,Spring,Postgresql,Spring Boot,Hibernate,Junit,下面是我的测试方法 @Test public void testGetUserProfile() { Optional<UserProfile> userProfile = null; Long userId = 1l; try { userProfile = userService.getUserProfile(userId); assertThat("user found!"); }

下面是我的测试方法

   @Test
    public void testGetUserProfile() {
    Optional<UserProfile> userProfile = null;
    Long userId = 1l;
    try {
        userProfile = userService.getUserProfile(userId);
        assertThat("user found!");
    } catch (AssertionError e) {
        Assert.notNull(userProfile, "user found");
    } catch (Exception e) {
    }
下面是我的POJO,它试图创建和出错

@Entity
@Table(name = "cs_r340b_pre_calc")
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = 
"r340b_pre_calc_Id")
@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class R340BPreCalculations extends TrackChangeDomain {

private static final Long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "r340b_pre_calc_Id")
private BigInteger r340bPreCalcId;

@Column(name = "PATIENT_ID")
private BigInteger patientId;

@Column(name = "PATIENT_EMR_ID")
private String patientEMRId;

@Column(name = "patient_eligible_340b")
private Boolean eligible340B;

@Column(name = "structured_program_eligibility")
private String structuredProgramEligibility;

@Column(name = "last_name")
private String patientLastName;

@Column(name = "first_name")
private String patientFirstName;

@Column(name = "dob")
private Timestamp dob;

@Column(name = "sex")
private String sex;

@Column(name = "pharma_data_id")
private BigInteger pharmaDataId;

@Column(name = "pd_rx_number")
private String rxNumber;

@Column(name = "rf_refill_number")
private Integer refillNumber;

@Column(name = "missed_refill")
private Boolean missedRefill;

@Column(name = "PD_NETREVENUE")
private BigDecimal netRevenue;

@Column(name = "PD_ADMIN_FEE")
private Double adminFee;

@Column(name = "PD_RX_WRITTEN_DATE")
private Date rxWrittenDate;

@Column(name = "PD_COPAY")
private Double coPay;

@Column(name = "PD_PRIMARY_ADJUD_DATE")
private Date primaryAdjudDate;

@Column(name = "PD_PICKUP_DATE")
private Date pickupDate;

@Column(name = "PD_AR_AMOUNT")
private Double arAmount;

@Column(name = "PD_QUANTITY_DISPENSED")
private Double quantityDispensed;

@Column(name = "PD_BRAND_DISPENSE_FEE")
private Double brandDispenseFee;

@Column(name = "PD_GENERIC_DISPENSE_FEE")
private Double genericDispenseFee;

@Column(name = "PD_INSURED_ADMIN_FEE")
private Double insuredAdminFee;

@Column(name = "PD_DISPENSE_FEE")
private Double dispenseFee;

@Column(name = "PD_EST_340B_UNIT_PRICE")
private Double estimated340BUnitPrice;

@Column(name = "PD_EST340BCOST")
private Double estimated340BCost;

@Column(name = "PD_PRIMARY_INSURANCE_ID")
private BigInteger primaryInsuranceId;

@Column(name = "FACILITY_ID")
private BigInteger facilityId;

@Column(name = "FACILITY_NAME")
private String facilityName;

@Column(name = "APPOINTMENT_FACILITY")
private Boolean appointmentFacility;

@Column(name = "DEFAULT_FACILITY")
private Boolean defaultFacility;

@Column(name = "claimamountdifference")
private BigDecimal claimAmountDifference;

@Column(name = "ICD_CODE_ID")
private BigInteger icdCodeId;

@Column(name = "ICD_CODE")
private String icdCode;

@Column(name = "ICD_NAME")
private String icdCodeName;

@Column(name = "REFILL_ID")
private BigInteger refillId;

@Column(name = "REFILL_DATE")
private Date refillDate;

@Column(name = "REFILL_STATUS")
private String refillStatus;

@Column(name = "RF_EXP_REIMBURSEMENT_DATE")
private Date expectedReimbursementDate;

@Column(name = "PHARMA_FEES_ID")
private BigInteger pharmaFeesId;

@Column(name = "PF_ADMIN_FEE")
private BigDecimal pfAdminFee;

@Column(name = "PF_BRAND_DISPENSE_FEE")
private BigDecimal pfBrandDispenseFee;

@Column(name = "PF_GENERIC_DISPENSE_FEE")
private BigDecimal pfGenericDispenseFee;

@Column(name = "PF_INSURED_ADMIN_FEE")
private BigDecimal pfInsuredAdminFee;

@Column(name = "PF_SERVICE_FEE")
private BigDecimal pfServiceFee;

@Column(name = "PRESCRIPTION_ID")
private BigInteger prescriptionId;

@Column(name = "PRESC_DAYS_ON_MEDS")
private Integer daysOnMeds;

@Column(name = "PRESC_DAYS_NOT_ON_MEDS")
private Integer daysNotOnMeds;

@Column(name = "PRESC_TOTAL_REFILLS")
private Integer totalRefills;

@Column(name = "PRESC_DISPENSE_DATA")
private String dispenseData;

@Column(name = "PRESC_EXP_340B_SAVINGS")
private BigDecimal expected340BSavings;

@Column(name = "aging_claim_amount")
private BigDecimal agingClaimAmount;

@Column(name = "PRESC_DATE_SENT")
private Date dateSent;

@Column(name = "PRESC_DAYS_SUPPLY")
private Integer daysSupply;

@Column(name = "PRESC_START_DATE")
private Date startDate;

@Column(name = "PRESC_NAME")
private String prescName;

@Column(name = "PRESC_DOSAGE")
private String dosage;

@Column(name = "presc_ASSESMENT_LIST")
private Boolean prescAssesmentList;

@Column(name = "presc_provider_id")
private BigInteger prescProviderId;

@Column(name = "pd_provider_id")
private BigInteger pdProviderId;

@Column(name = "MED_NDC")
private String ndc;

@Column(name = "MEDICINE_ID")
private BigInteger medicineId;

@Column(name = "MED_NAME")
private String medicineName;

@Column(name = "take")
private String take;

@Column(name = "formulation")
private String formulation;

@Column(name = "frequency")
private String frequency;

@Column(name = "MED_EST_340B_PRICE")
private BigDecimal estimated340bPrice;

@Column(name = "INSURANCE_ID")
private BigInteger insuranceId;

@Column(name = "INSURANCE_PAYER_TYPE")
private String insurancePayerType;

@Column(name = "INSURANCE_NAME")
private String insuranceName;

@Column(name = "self_pay")
private Boolean selfPay;

@Column(name = "PROGRAM_ID")
private BigInteger programId;

@Column(name = "PROGRAM_NAME")
private String programName;

@Column(name = "PHARMACY_ID")
private BigInteger pharmacyId;

@Column(name = "PHARMACY_TYPE")
private String pharmacyType;

@Column(name = "PHARMACY_DISPLAY_NAME")
private String pharmacyDisplayName;

@Column(name = "PROVIDER_ID")
private BigInteger providerId;

@Column(name = "PROVIDER_NAME")
private String providerName;

@Column(name = "appointment_provider")
private Boolean appointmentProvider;

@Column(name = "rendering_provider")
private Boolean renderingProvider;

@Column(name = "PATIENT_INFO")
private String patientInfo;

@Column(name = "PHARMA_DATA_INFO")
private String pharmaDataInfo;

@Column(name = "MEDICINE_INFO")
private String medicineInfo;

@Column(name = "REFILL_INFO")
private String refillsDataInfo;

@Column(name = "PHARMA_FEES_INFO")
private String pharmaFeesInfo;

@Column(name = "PRESCRIPTION_INFO")
private String prescriptionInfo;

@Column(name = "PHARMACY_INFO")
private String pharmacyInfo;
}
          <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M5</version>
                <configuration>
                        <skipTests>${skipTests}</skipTests>
                </configuration>
            </plugin>
        <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
jdbc.driverClassName=org.postgresql.Driver
jdbc.url=jdbc:postgresql://192.168.11.xxx:5432/xxx? 
currentSchema=ribhusqa&autoReconnect=true&useUnicode=true&characterEncoding=UTF- 
8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&useSSL=false
jdbc.username=xxx
jdbc.password=xxx
hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
hibernate.cache.use_second_level_cache=false
hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
spring.jpa.show-sql=true
hibernate.show_sql = true
hibernate.format_sql = true
hibernate.hbm2ddl.auto=update
hibernate.jdbc.batch_size=5000
hibernate.enable_lazy_load_no_trans=true
hibernate.event.merge.entity_copy_observer = allow
@Entity
@Table(name = "cs_r340b_pre_calc")
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = 
"r340b_pre_calc_Id")
@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class R340BPreCalculations extends TrackChangeDomain {

private static final Long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "r340b_pre_calc_Id")
private BigInteger r340bPreCalcId;

@Column(name = "PATIENT_ID")
private BigInteger patientId;

@Column(name = "PATIENT_EMR_ID")
private String patientEMRId;

@Column(name = "patient_eligible_340b")
private Boolean eligible340B;

@Column(name = "structured_program_eligibility")
private String structuredProgramEligibility;

@Column(name = "last_name")
private String patientLastName;

@Column(name = "first_name")
private String patientFirstName;

@Column(name = "dob")
private Timestamp dob;

@Column(name = "sex")
private String sex;

@Column(name = "pharma_data_id")
private BigInteger pharmaDataId;

@Column(name = "pd_rx_number")
private String rxNumber;

@Column(name = "rf_refill_number")
private Integer refillNumber;

@Column(name = "missed_refill")
private Boolean missedRefill;

@Column(name = "PD_NETREVENUE")
private BigDecimal netRevenue;

@Column(name = "PD_ADMIN_FEE")
private Double adminFee;

@Column(name = "PD_RX_WRITTEN_DATE")
private Date rxWrittenDate;

@Column(name = "PD_COPAY")
private Double coPay;

@Column(name = "PD_PRIMARY_ADJUD_DATE")
private Date primaryAdjudDate;

@Column(name = "PD_PICKUP_DATE")
private Date pickupDate;

@Column(name = "PD_AR_AMOUNT")
private Double arAmount;

@Column(name = "PD_QUANTITY_DISPENSED")
private Double quantityDispensed;

@Column(name = "PD_BRAND_DISPENSE_FEE")
private Double brandDispenseFee;

@Column(name = "PD_GENERIC_DISPENSE_FEE")
private Double genericDispenseFee;

@Column(name = "PD_INSURED_ADMIN_FEE")
private Double insuredAdminFee;

@Column(name = "PD_DISPENSE_FEE")
private Double dispenseFee;

@Column(name = "PD_EST_340B_UNIT_PRICE")
private Double estimated340BUnitPrice;

@Column(name = "PD_EST340BCOST")
private Double estimated340BCost;

@Column(name = "PD_PRIMARY_INSURANCE_ID")
private BigInteger primaryInsuranceId;

@Column(name = "FACILITY_ID")
private BigInteger facilityId;

@Column(name = "FACILITY_NAME")
private String facilityName;

@Column(name = "APPOINTMENT_FACILITY")
private Boolean appointmentFacility;

@Column(name = "DEFAULT_FACILITY")
private Boolean defaultFacility;

@Column(name = "claimamountdifference")
private BigDecimal claimAmountDifference;

@Column(name = "ICD_CODE_ID")
private BigInteger icdCodeId;

@Column(name = "ICD_CODE")
private String icdCode;

@Column(name = "ICD_NAME")
private String icdCodeName;

@Column(name = "REFILL_ID")
private BigInteger refillId;

@Column(name = "REFILL_DATE")
private Date refillDate;

@Column(name = "REFILL_STATUS")
private String refillStatus;

@Column(name = "RF_EXP_REIMBURSEMENT_DATE")
private Date expectedReimbursementDate;

@Column(name = "PHARMA_FEES_ID")
private BigInteger pharmaFeesId;

@Column(name = "PF_ADMIN_FEE")
private BigDecimal pfAdminFee;

@Column(name = "PF_BRAND_DISPENSE_FEE")
private BigDecimal pfBrandDispenseFee;

@Column(name = "PF_GENERIC_DISPENSE_FEE")
private BigDecimal pfGenericDispenseFee;

@Column(name = "PF_INSURED_ADMIN_FEE")
private BigDecimal pfInsuredAdminFee;

@Column(name = "PF_SERVICE_FEE")
private BigDecimal pfServiceFee;

@Column(name = "PRESCRIPTION_ID")
private BigInteger prescriptionId;

@Column(name = "PRESC_DAYS_ON_MEDS")
private Integer daysOnMeds;

@Column(name = "PRESC_DAYS_NOT_ON_MEDS")
private Integer daysNotOnMeds;

@Column(name = "PRESC_TOTAL_REFILLS")
private Integer totalRefills;

@Column(name = "PRESC_DISPENSE_DATA")
private String dispenseData;

@Column(name = "PRESC_EXP_340B_SAVINGS")
private BigDecimal expected340BSavings;

@Column(name = "aging_claim_amount")
private BigDecimal agingClaimAmount;

@Column(name = "PRESC_DATE_SENT")
private Date dateSent;

@Column(name = "PRESC_DAYS_SUPPLY")
private Integer daysSupply;

@Column(name = "PRESC_START_DATE")
private Date startDate;

@Column(name = "PRESC_NAME")
private String prescName;

@Column(name = "PRESC_DOSAGE")
private String dosage;

@Column(name = "presc_ASSESMENT_LIST")
private Boolean prescAssesmentList;

@Column(name = "presc_provider_id")
private BigInteger prescProviderId;

@Column(name = "pd_provider_id")
private BigInteger pdProviderId;

@Column(name = "MED_NDC")
private String ndc;

@Column(name = "MEDICINE_ID")
private BigInteger medicineId;

@Column(name = "MED_NAME")
private String medicineName;

@Column(name = "take")
private String take;

@Column(name = "formulation")
private String formulation;

@Column(name = "frequency")
private String frequency;

@Column(name = "MED_EST_340B_PRICE")
private BigDecimal estimated340bPrice;

@Column(name = "INSURANCE_ID")
private BigInteger insuranceId;

@Column(name = "INSURANCE_PAYER_TYPE")
private String insurancePayerType;

@Column(name = "INSURANCE_NAME")
private String insuranceName;

@Column(name = "self_pay")
private Boolean selfPay;

@Column(name = "PROGRAM_ID")
private BigInteger programId;

@Column(name = "PROGRAM_NAME")
private String programName;

@Column(name = "PHARMACY_ID")
private BigInteger pharmacyId;

@Column(name = "PHARMACY_TYPE")
private String pharmacyType;

@Column(name = "PHARMACY_DISPLAY_NAME")
private String pharmacyDisplayName;

@Column(name = "PROVIDER_ID")
private BigInteger providerId;

@Column(name = "PROVIDER_NAME")
private String providerName;

@Column(name = "appointment_provider")
private Boolean appointmentProvider;

@Column(name = "rendering_provider")
private Boolean renderingProvider;

@Column(name = "PATIENT_INFO")
private String patientInfo;

@Column(name = "PHARMA_DATA_INFO")
private String pharmaDataInfo;

@Column(name = "MEDICINE_INFO")
private String medicineInfo;

@Column(name = "REFILL_INFO")
private String refillsDataInfo;

@Column(name = "PHARMA_FEES_INFO")
private String pharmaFeesInfo;

@Column(name = "PRESCRIPTION_INFO")
private String prescriptionInfo;

@Column(name = "PHARMACY_INFO")
private String pharmacyInfo;
}