如何忽略Hibernate中类字段的类型?

时间:2015-07-25 06:26:05

标签: java hibernate orm

我班上有以下属性:

@NotNull
@Digits(fraction = 0, integer = 2)
private Byte              value;

以下代码:

List<Integer> values = new ArrayList<Integer>();
values.add(1);
values.add(2);
Query query = getSession().createQuery("SELECT E FROM MyClass E WHERE E.value IN (:VALUES)");
query.setParameter("VALUES", values);
query.list();

如您所见,字段“value”的类型是Byte,而参数是Integers列表。我该怎么做才能告诉hibernate摆脱ClassCastException并忽略参数的类型?

1 个答案:

答案 0 :(得分:0)

当然,您应该将列表更改为List<Byte>。我想你已经将它改为Integer,因为行values.add(1)中的编译时错误。在这里,您应该将此常量显式转换为byte

List<Byte> values = new ArrayList<Byte>();
values.add((byte)1);
values.add((byte)2);