我已经浏览了一些类似的问题,但是找不到我想要的东西。我正在尝试将实质上具有这种格式的对象存储到postgres表中:
FROM tomcat:8.0
ADD ./webapp/target/*.war /usr/local/tomcat/webapps/
EXPOSE 8080
CMD ["catalina.sh", "run"]
我要做的就是编写这些对象并将它们读取到表中,并且还需要对其中一个属性进行过滤。经过一番研究,看起来JSONB可能是一种很好的格式,所以我创建了一个表,如:
class C {
var id: Int? = null
var name: String? = null
var attributes: Map<String, Any> = mapOf()
}
不确定如何将Map转换为可以写入数据库的对象。现在,我的映射器看起来像这样:
CREATE TABLE IF NOT EXISTS fake_table (
id INTEGER NOT NULL,
name TEXT NOT NULL,
attributes JSONB NOT NULL,
PRIMARY KEY (id)
);
我只需要将C类转换成兼容的Item类?
interface ItemMapper {
@Insert("""
INSERT INTO fake_table (
id, name, attributes
) VALUES (
#{id}, #{name}, #{attributes}
)""")
fun add(item: Item)
}
我能够通过将属性转换为String来使它正常工作,但是后来我无法轻松过滤查询(我相信吗?),这是一个大问题。