Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Envers + MYSQL + List =SQLSyntaxErrorException:Khóa được chỉ định quá dài;

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiển thị nhóm chi tiết thanh toán theo Tên nhà cung cấp

  2. delphi dxExpress MySQL:giá trị LAST_INSERT_ID không hợp lệ

  3. Các kết nối đôi khi không khả dụng trong c3p0

  4. Mã eval () PHP ở giữa <? Php?> Từ cơ sở dữ liệu

  5. Thay thế \ r \ n (ký tự dòng mới) sau khi chạy json_encode