public enum Equipment { Hood, Blinkers, ToungTie, CheekPieces, Visor, EyeShield, None;}
et Postgres correspondant ENUM:
CREATE TYPE equipment AS ENUM ('Hood', 'Blinkers', 'ToungTie', 'CheekPieces', 'Visor', 'EyeShield', 'None');
Dans ma base de données que j'ai une table qui a une colonne contenant un tableau d'articles "équipement":
CREATE TABLE "Entry" (
id bigint NOT NULL DEFAULT nextval('seq'::regclass),
"date" character(10) NOT NULL,
equipment equipment[]
);
Et enfin quand je suis ru Dans mon application, j'ai un tableau des enums "Equipment" que je veux persister dans la base de données en utilisant une déclaration préparée, et pour la vie de moi je ne peux pas comprendre comment le faire.
StringBuffer sb = new StringBuffer("insert into \"Entry\" ");
sb.append("(\"date\", \"equipment \")");
sb.append(" values (?, ?)");
PreparedStatement ps = db.prepareStatement(sb.toString());
ps.setString("2010-10-10");
ps.set???????????
Juste pour répondre à certains des commentaires ci-dessous. L'exemple est seulement illustratif, pas le code exact que j'utilise. Je sais que la date est probablement illégale en tant que nom de colonne, n'a pas vraiment pensé pendant que je mettais en place l'exemple :) Je vais normaliser, mais je voulais si travailler avec un tableau enum était possible. Ne sonne pas comme ci-dessous sans un hack quelconque – McGin