0

我想尝试使用 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 搜索列“名称”而我的列是“名称”。

谢谢你的帮助。

4

2 回答 2

2

我刚刚通过将 dbunit 从版本 2.4.8 恢复到 2.2.2 解决了这个问题。我将它与unitils 3.8一起使用。

于 2011-11-29T20:22:09.127 回答
1

您的 JPA 供应商适配器可能仅以大写形式创建列名。您可以使用 Column 注释隐式定义列名。

于 2011-07-27T15:09:47.947 回答