アプリケーションで hibernate 3 を 4 に、spring 3 を 3.1 に、spring security 3 を 3.1 に更新したいのですが、これを行うと、データベース内の以前のバージョンを使用して生成された権限を持つユーザーは使用できず、例外が発生します。
java.io.InvalidClassException GrantedAuthorityImpl local class incompatible
アプリケーションがデータベースからユーザーの権限をフェッチしようとしたときに発生しました。これはエンティティ ユーザーの構成です。
@ElementCollection(targetClass = GrantedAuthority.class, fetch=FetchType.EAGER)
@CollectionTable(name = "user_authorities", schema = "mydb", joinColumns = @javax.persistence.JoinColumn(name = "user_id"))
private Collection<GrantedAuthority> authorities;