Ik ben vergeten te vermelden dat ik @Access(AccessType.PROPERTY)
gebruik op klasniveau. Hoe dan ook, ik heb de gerelateerde gettermethoden uitgebreid
@ElementCollection
@Column(length=175) // keep in sync with maxDBStringLength
public List<String> getEnvironmentalInterfaces() {
return environmentalInterfaces;
}
Dus eigenlijk doet de truc. Om echter geen informatie te verliezen, heb ik ook alle methoden uitgebreid om een element aan de lijst toe te voegen, zoals zo
// 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);
}
Nu zijn alle tabellen gemaakt. Helaas heb ik nu een NullPointer-probleem, dat je hier vindt Envers NullPointerException bij het maken van testgegevens - voor het geval je dezelfde leercurve doormaakt.