我想知道使 DbUnit 与 MySQL 的 JSON(B) 类型列一起使用的最佳方法是什么?我们确实在这里和那里有这样的列,每当我试图通过 XML 文件提供测试数据时,@DatabaseSetup
我都会得到 NoSuchColumnException,这会阻止我对处理 JSON 的实体或存储库进行任何明智的集成测试:
org.dbunit.dataset.NoSuchColumnException: assistant_event.AEV_CONTEXT - (Non-uppercase input column: aev_context) in ColumnNameToIndexes cache map. Note that the map's column names are NOT case sensitive.
我知道这是因为我的AEV_CONTEXT
列没有被识别,因为它是一个 JSON 列:
@Type(type = "json")
@Column(name = "aev_context", columnDefinition = "json")
private Context context;
但是,我在尝试解决它时遇到了困难。而且,更奇怪的是,我在这里也找不到这样的解决方法!事实上,我不知道这是否更像是 Hibernate 或 DbUnit。
到目前为止真的只有我有这个问题吗?任何建议将不胜感激!
哦,如果你想知道,这就是我如何获得对 Hibernate 的 JSON 支持:
https://vladmihalcea.com/how-to-map-json-objects-using-generic-hibernate-types/