Jag glömde nämna att jag använder @Access(AccessType.PROPERTY)
på klassnivå. Hur som helst, jag utökade de relaterade gettermetoderna
@ElementCollection
@Column(length=175) // keep in sync with maxDBStringLength
public List<String> getEnvironmentalInterfaces() {
return environmentalInterfaces;
}
Det gör faktiskt susen. Men för att inte tappa information har jag också utökat alla metoder för att lägga till ett element i listan, som så
// 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 är alla tabeller skapade. Tyvärr har jag nu ett NullPointer-problem, som du hittar här Envers NullPointerException när du skapar testdata - ifall du går igenom samma inlärningskurva.