Esqueci de mencionar que estou usando
@Access(AccessType.PROPERTY)
no nível de classe. De qualquer forma, estendi os métodos getter relacionados @ElementCollection
@Column(length=175) // keep in sync with maxDBStringLength
public List<String> getEnvironmentalInterfaces() {
return environmentalInterfaces;
}
Assim realmente faz o truque. No entanto, para não perder informações, também estendi todos os métodos para adicionar um elemento à lista, assim
// Must be in sync with @Column(length=175) definitions
protected static int maxDBStringLength = Constants.maxDBStringLength;
public void addEnvironmentalInterfaces(String environmentalInterface) throws StringTooLongException {
if(environmentalInterface.length() > maxDBStringLength) {
throw new StringTooLongException(maxDBStringLength, environmentalInterface.length());
}
environmentalInterfaces.add(environmentalInterface);
}
Agora todas as tabelas estão criadas. Infelizmente, agora tenho um problema com o NullPointer, que você encontra aqui Envers NullPointerException ao criar dados de teste - apenas no caso de você estar passando pela mesma curva de aprendizado.