Mysql
 sql >> база данни >  >> RDS >> Mysql

Envers + MYSQL + List =SQLSyntaxErrorException:Посоченият ключ беше твърде дълъг;

Забравих да спомена, че използвам @Access(AccessType.PROPERTY) на ниво клас. Както и да е, разширих свързаните методи за получаване

@ElementCollection  
@Column(length=175)     // keep in sync with maxDBStringLength
public List<String> getEnvironmentalInterfaces() {
    return environmentalInterfaces;
}

Това всъщност прави трика. Въпреки това, за да не губя информация, аз също разширих всички методи за добавяне на елемент към списъка, така

// 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);
}

Сега всички таблици са създадени. За съжаление сега имам проблем с NullPointer, който намирате тук Envers NullPointerException при създаване на тестови данни - само в случай, че преминавате през същата крива на обучение.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да дадете привилегии на MySQL само на определен ред

  2. Как да извикам моите C++ двоични файлове чрез CGI интерфейса?

  3. MySQL не използва индекс при проверка =1, а го използва с =0

  4. Как ефективно да съхранявате този анализиран XML документ в MySQL база данни с помощта на Python?

  5. MySQL LEFT JOIN само 1 ред в зависимост от стойността MAX().