【问题标题】:Testing JPA/Hibernate entities using DBUnit使用 DBUnit 测试 JPA/Hibernate 实体
【发布时间】:2012-01-19 19:19:56
【问题描述】:

我在使用 JPA/Hibernate 和 DBUNIT 时遇到了一些实体问题。 我在尝试构建项目时遇到了这个错误。

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)

如果配置属性如下,则错误消失

username : usera
password : usera
schema   : usera
dbunit version : 2.4.2

如果配置属性如下会报错

username : usera
pasword : usera
schema :  schemab
dbunit version > 2.4.2 (e.g. 2.4.4)

看起来如果 shema 名称与用户名相同并且 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;
    }
}

DBunit 数据集

<dataset>
    <CONTENTDOCUMENT ID="1" CONTENT="TestContent1"/>
    <CONTENTDOCUMENT ID="2" CONTENT="TestContent2" />   
</dataset>

有什么线索吗?

【问题讨论】:

    标签: hibernate spring jpa dbunit


    【解决方案1】:

    尝试在插入数据时指定 dtd 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-22
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多