如何在自定义数据持久化器中指定VARCHAR列长度?

时间:2018-08-06 17:15:20

标签: ormlite

我有一个自定义的持久性,它将ZonedDateTimes作为字符串存储在数据库中。 OrmLite正在生成列定义VARCHAR(0),在PostgreSQL中无效。

我需要指定一个长度,但是我不确定做到这一点的最佳方法。

我知道我可以做类似的事情

    @DatabaseField(columnName = "my_column",
                   persisterClass = MyCustomPersister.class,
                   columnDefinition = "VARCHAR(17)")

但是对于具有此数据类型的字段的每个声明,我都必须这样做。这意味着每个用DatabaseField(persisterClass = MyCustomPersister.class)注释的字段在SQL中应始终为长度为17的VARCHAR

有没有办法解决数据持久化器中的此问题?

1 个答案:

答案 0 :(得分:0)

仅在数据持久化器中覆盖方法int getDefaultWidth();就足够了