3
JPA/Hibernate 및 DBUNIT를 사용하여 일부 엔티티에 몇 가지 문제점이 발생했습니다. 프로젝트를 빌드 할 때이 오류가 발생했습니다. 구성 속성 인 경우DBUnit을 사용하여 JPA/Hibernate 엔티티 테스트하기
username : usera
pasword : usera
schema : schemab
dbunit version > 2.4.2 (e.g. 2.4.4)
그것은 쉐마 이름이있는 경우 모양을 다음과 같이 구성 특성이있는 경우 오류가 발생합니다
username : usera
password : usera
schema : usera
dbunit version : 2.4.2
다음과 같이
Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 2.221 sec <<< FAILURE!
readDocumentById(com.bt.msm.ds.facade.DataServicesFacadeTest) Time elapsed: 2.043 sec <<< ERROR!
org.dbunit.dataset.NoSuchColumnException: CONTENTDOCUMENT.ID - (Non-uppercase input column: ID) in ColumnNameToIndexes cache map. Note that the map's column names are NOT case sensitive.
at org.dbunit.dataset.AbstractTableMetaData.getColumnIndex(AbstractTableMetaData.java:128)
at org.dbunit.operation.AbstractOperation.getOperationMetaData(AbstractOperation.java:89)
at org.dbunit.operation.AbstractBatchOperation.execute(AbstractBatchOperation.java:140)
at org.dbunit.operation.CompositeOperation.execute(CompositeOperation.java:79)
오류가 사라 동일한 사용자 이름과 dbunit 버전은 2.4.2입니다. 스키마 이름이 사용자 이름과 같지 않고 dbunit 버전이 2.4.2 (2.4.3 및 2.4.4 시도)보다 큰 버전이면 오류가 발생합니다. 여기
은 몇 가지 세부 사항입니다테이블 DDL
CREATE TABLE CONTENTDOCUMENT (
ID bigint(20) NOT NULL AUTO_INCREMENT,
CONTENT varchar(255) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
데이터베이스 버전 :
MySql 5.5.17 MySQL Community Server (GPL)
JPA/Hibernate 엔티티 (요약) -
@Entity
@Indexed
@Table(name="CONTENTDOCUMENT")
public class ContentDocument{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="ID")
public Long getId() {
return id;
}
@Column(name="CONTENT")
public String getContent() {
return content;
}
}
DB 단위 데이터 세트
<dataset>
<CONTENTDOCUMENT ID="1" CONTENT="TestContent1"/>
<CONTENTDOCUMENT ID="2" CONTENT="TestContent2" />
</dataset>
실마리가 있습니까?