【发布时间】:2018-08-06 17:15:20
【问题描述】:
我有一个自定义持久化器,它将 ZonedDateTimes 作为字符串存储在我的数据库中。 OrmLite 正在生成列定义VARCHAR(0),这在 PostgreSQL 中是无效的。
我需要指定一个长度,但我不确定最好的方法。
我知道我可以做类似的事情
@DatabaseField(columnName = "my_column",
persisterClass = MyCustomPersister.class,
columnDefinition = "VARCHAR(17)")
但我必须为具有此数据类型的字段的每个声明执行此操作。这意味着使用 DatabaseField(persisterClass=MyCustomPersister.class) 注释的每个字段在 SQL 中应该始终是长度为 17 的 VARCHAR
有没有办法在数据持久化器中解决这个问题?
【问题讨论】:
-
这个不清楚“我必须为每个声明这个数据类型的字段做这个”如果你想指定一个长度,你希望怎么做除此以外?声明“所有 varchars 的长度都为 17”是毫无意义的。您需要在每个 varchar 列上声明显式长度。
-
@JimGarrison 我的意思是每个用
DatabaseField(persisterClass=MyCustomPersister.class)注释的字段都应该是长度为 17 的 VARCHAR
标签: ormlite