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を試しました)場合、エラーが発生します。 -
@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;
}
}
MySql 5.5.17 MySQL Community Server (GPL)
JPA/Hibernateのエンティティ(要約):ここで
は、いくつかの詳細は
表DDL
CREATE TABLE CONTENTDOCUMENT (
ID bigint(20) NOT NULL AUTO_INCREMENT,
CONTENT varchar(255) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
データベースのバージョンです
DbUnitをデータセット
<dataset>
<CONTENTDOCUMENT ID="1" CONTENT="TestContent1"/>
<CONTENTDOCUMENT ID="2" CONTENT="TestContent2" />
</dataset>
任意の手がかり?