I noticed that my
String @Properties were mapping fine, but not a
FloatArray. In fact, only first two strings get mapped – even if the third property is a String, it isn't mapped. However, this object also contains a
FloatArray, so I suspect that once the enumeration gets tripped up, it gives up entirely.
The root of the problem seems to start way down in how Java enumerates annotations with
getDeclaredAnnotations. Here's a simple class that exhibits the problem:
@NodeEntity data class Point(@Id @GeneratedValue(strategy = UuidStrategy::class) val uuid: String? = null, @Property(name = "name") val name: String? = null, @Property(name = "vector") val vector: FloatArray? = null
name get properly mapped,
vector is always null. If I instead define
Point as a java class, everything works as expected. I also tried replacing
java.util.List<java.lang.Float>, to no avail. Any ideas?
Thanks in advance, ya'll!