Tôi quên đề cập rằng tôi đang sử dụng @Access(AccessType.PROPERTY)
trên cấp độ lớp học. Dù sao, tôi đã mở rộng các phương thức getter liên quan
@ElementCollection
@Column(length=175) // keep in sync with maxDBStringLength
public List<String> getEnvironmentalInterfaces() {
return environmentalInterfaces;
}
Vì vậy, thực sự là lừa. Tuy nhiên, để không làm mất thông tin, tôi cũng đã mở rộng tất cả các phương pháp để thêm một phần tử vào danh sách, như vậy
// 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);
}
Bây giờ tất cả các bảng đã được tạo. Rất tiếc, tôi hiện gặp sự cố NullPointer mà bạn tìm thấy ở đây Envers NullPointerException khi tạo dữ liệu thử nghiệm - chỉ trong trường hợp bạn đang trải qua cùng một đường lối học tập.