Apache Cayenne:处理 Postgresql 枚举类型
Posted
技术标签:
【中文标题】Apache Cayenne:处理 Postgresql 枚举类型【英文标题】:Apache Cayenne: Handling Postgresql enum types 【发布时间】:2013-09-13 02:24:10 【问题描述】:我有一个名为“foo”的数据库类型,定义如下:
CREATE TYPE foo AS ENUM('foo','bar','baz');
当我通过 Apache Cayenne Modeler 为我的表生成类时,我收到一条错误消息,指出该字段未定义。来一探究竟,没有为这个字段生成类型。
如何在 java 端实现 postgresql 枚举类型,以便 Cayenne 正确处理它们?
【问题讨论】:
【参考方案1】:虽然 Cayenne 在猜测枚举类型方面应该做得更好,但您可以自己轻松解决这个问题。在 CayenneModeler 中,将 DbEntity 的列类型更改为 VARCHAR。在 ObjEntity 方面,您可以将其映射为字符串,或者您可以创建一个 Java 枚举来匹配您的数据库枚举,然后映射到那个。
【讨论】:
以上是关于Apache Cayenne:处理 Postgresql 枚举类型的主要内容,如果未能解决你的问题,请参考以下文章
Apache Cayenne“类未与 Cayenne 映射”
Apache Cayenne 将数据从非 Cayenne 应用程序插入数据库