首页 > 解决方案 > 原因:java.lang.IllegalArgumentException:无法将 java.lang.Long 字段 Photo.id 设置为 java.util.ArrayList

问题描述

我正在使用 grails 3.3.6 和 hibernate 5.1.3 并具有以下域类

class Member {

List<Photo> photos = new ArrayList<Photo>()
.....

}

class Photo {
...

}

我收到以下异常

原因:java.lang.IllegalArgumentException:无法在 sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException 处将 java.lang.Long 字段 Photo.id 设置为 java.util.ArrayList (UnsafeFieldAccessorImpl.java:171) 在 sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:58) 在 sun.reflect.UnsafeObjectFieldAccessorImpl.get(UnsafeObjectFieldAccessorImpl.java:36) 在 java.lang.reflect.Field.get(Field. java:393) 在 org.springsource.loaded.ReflectionFieldReaderWriter.getValue(ReflectionFieldReaderWriter.java:60) 在 org.springsource.loaded.ReloadableType.getField(ReloadableType.java:1394) 在 org.springsource.loaded.ri.ReflectiveInterceptor。jlrFieldGet(ReflectiveInterceptor.java:1914) at org.hibernate.property.access.spi.GetterFieldImpl.get(GetterFieldImpl.java:39) ... 省略了 186 个常用帧

标签: hibernategrailsgrails-orm

解决方案


推荐阅读