Zapomněl jsem zmínit, že používám @Access(AccessType.PROPERTY)
na úrovni třídy. Každopádně jsem rozšířil související metody získávání
@ElementCollection
@Column(length=175) // keep in sync with maxDBStringLength
public List<String> getEnvironmentalInterfaces() {
return environmentalInterfaces;
}
Tak vlastně dělá trik. Abychom však neztratili informace, rozšířil jsem také všechny metody o přidání prvku do seznamu, jako je to
// 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);
}
Nyní jsou vytvořeny všechny tabulky. Bohužel mám nyní problém s NullPointer, který najdete zde Envers NullPointerException při vytváření testovacích dat - jen v případě, že procházíte stejnou křivkou učení.