Hi! According to Java EE API (http://docs.oracle.com/javaee/7/tutorial/persistence-intro001.htm#BNBQA), "If the entity uses persistent properties, the entity must follow the method conventions of JavaBeans components." According to same documentation, regarding to Metamodel API (https://docs.oracle.com/javaee/7/tutorial/persistence-criteria002.htm#GJIUP), "For each entity class in a particular package, a metamodel class is created with a trailing underscore and with attributes that correspond to the persistent fields or properties of the entity class." So, I think this issue is valid. I was able to reproduce this issue, with an entity having the following conditions: 1. It has only one attribute, example List<String> paths. 2. It has 2 getters, in this order: public List<String> getPaths(), Set<String> getPaths(final String startPath) . I added a small maven project with code to reproduce this issue. In the 'target' folder, an Metamodel class is generated, having an SetAttribute<Product, String> paths, and not ListAttribute<Product, String> paths. |