我想知道让dbunit与mysql的json(b)类型列一起工作的最佳方法是什么?每当我试图通过 @DatabaseSetup
我得到nosuchcolumnexception,它阻止我对处理json的实体或repos进行任何合理的集成测试:
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;
然而,我在努力解决这个问题时遇到了困难。更奇怪的是,我在这里也找不到这样的解决办法!事实上,我不知道这是休眠还是dbunit。
到目前为止真的只有我有这个问题吗?任何建议都将不胜感激!
哦,如果你想知道的话,我就是这样得到了对hibernate的json支持的:
https://vladmihalcea.com/how-to-map-json-objects-using-generic-hibernate-types/
2条答案
按热度按时间9lowa7mx1#
一个可能的解决方案是定义自己的datatypefactory并使用它。我这样做是为了支持postgresqljsonb数据类型,类似的东西也可以用于mysql。
bvn4nwqk2#
如果有人需要,这是@aleksi的postgresql jsonb数据类型解决方案的java版本: