2

次のように定義された「foo」というデータベースタイプがあります。

CREATE TYPE foo AS ENUM('foo','bar','baz');

また、Apache Cayenne Modeler を使用してテーブルのクラスを生成すると、そのフィールドが未定義であるというエラーが表示されます。調べてみると、このフィールドに対して生成された型はありません。

Cayenne が適切に処理できるように、Java 側で postgresql 列挙型を実装するにはどうすればよいですか?

4

1 に答える 1

1

Cayenne は enum の型を推測するのにより良い仕事をするべきでしたが、それは自分で簡単に修正できます。CayenneModeler で、DbEntity の列タイプを VARCHAR に変更します。ObjEntity 側では、それを文字列としてマップするか、DB 列挙に一致するように Java 列挙を作成して、それにマップすることができます。

于 2013-09-13T18:05:07.717 に答える