2012-01-19 8 views
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> 

任意の手がかり?

答えて

0

データを挿入するときにdtdファイルを指定しようとします。

関連する問題