gpt4 book ai didi

hibernate - 使用 DBUnit 测试 JPA/Hibernate 实体

转载 作者:行者123 更新时间:2023-12-02 05:08:02 25 4
gpt4 key购买 nike

我在某些实体上遇到了一些问题,特别是在使用 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),则会发生错误。

这里是一些细节

表动态描述语言

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 社区服务器 (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>

有什么线索吗?

最佳答案

插入数据时尽量指定dtd文件。

关于hibernate - 使用 DBUnit 测试 JPA/Hibernate 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8931964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com