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

How to specify VARCHAR column length in custom data persister?

我有一个自定义持久化器,它将 ZonedDateTimes 作为字符串存储在我的数据库中。 OrmLite 正在生成在 PostgreSQL.

中无效的列定义 VARCHAR(0)

我需要指定一个长度,但我不确定最好的方法。

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

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

但我必须为具有此数据类型的字段的每个声明执行此操作。这意味着每个用 DatabaseField(persisterClass=MyCustomPersister.class) 注释的字段应该总是在 SQL 长度为 17

的 VARCHAR 中

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

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