私はこのようなJPAエンティティを持っている:jpa AttributeConverterはクエリ節に適用されますか?
@Entity
public class RectangleEntity
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column
private Integer x;
@Column
private Integer y;
@Column
@Convert(converter = ColorConverter.class)
private Color color;
}
そして、私のColorConverterはこのようなものです:
@Converter
public class ColorConverter implements AttributeConverter<Color, String[]> {
@Override
public String[] convertToDatabaseColumn(Color color) {
switch(color) {
case REDISH : return {"red","pink"};
case GREENISH: return {"green","cyan"};
}
return sb.toString();
}
@Override
public Color convertToEntityAttribute(String... colorStrings) {
if(colorStrings == null || colorStrings.length != 1) {
return null;
}
if(colorStrings[0].equals("red") || colorStrings[0].equals("pink")) {
return REDISH;
} else if(colorStrings[0].equals("green") || colorStrings[0].equals("cyan")) {
return GREENISH;
}
}
}
事は、私はこのようなクエリでは、私の列の値を使用したいということです。
このクエリでは、色フィールドがピンクまたはレッドのすべてのレコードを選択します。REDISH
です。
可能でしょうか?
たTaNxのような述語で終わるだろう。 あなたはString []について正しいです。それは私の間違いでした。 私の問題は、Oracleビューを使用しているために値を格納することではありません。 'in'値として使用される一連の値に変換される型のパラメータで私のビューを照会したいと思います。 私はあなたの最後の声明を受け取りませんでした。 –