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;
}