DBunit和数据集列

时间:2011-04-17 09:56:29

标签: java dataset dbunit

我想尝试使用DBUnit进行单元测试,但我的数据集存在问题。

这是我的持久性对象:

@Entity
@Table(name = "personnes")
public class Personne implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer pk;

    @Column
    private String name;
}

我的数据集:

<?xml version='1.0' encoding='UTF-8'?>
<dataset>
    <personnes name="toto"  pk="1" />
</dataset>

我的问题是名称列,我收到此错误:

org.dbunit.dataset.NoSuchColumnException: personnes.NAME -  (Non-uppercase input column: name) in ColumnNameToIndexes cache map. Note that the map's column names are NOT case sensitive.

我不明白为什么dbunit搜索“NAME”列,而我的列是“name”。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

我刚刚将dbunit从版本2.4.8恢复为2.2.2,从而解决了这个问题。我正在使用它与单位3.8。

答案 1 :(得分:1)

您的JPA供应商适配器可能仅在UPPER CASE中创建列名。您可以使用Column批注隐式定义列名称。