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
uuid and 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 FloatArray with java.util.List<java.lang.Float>, to no avail. Any ideas?
Thanks in advance, ya'll!