2016-05-09 85 views
0

我有以下實體:春季安全,刷新令牌NotSerializableException

@Entity 
@Table(name = "ct_users") 
@JsonIgnoreProperties("password", "enabled", "driver", "reviews") 
open class User(

    @Id 
    @Column(name = "id") 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    val id: Int = 0, 

    @Column 
    val phone: String = "", 

    @Column 
    val password: String = "", 

    @Column 
    val enabled: Boolean = false, 

    @OneToOne(fetch = FetchType.LAZY, mappedBy="profile") 
    var driver: Driver? = null, 

    @ManyToMany(fetch = FetchType.LAZY) 
    @JoinTable(
     name = "ct_reviews_rel", 
     joinColumns = arrayOf(JoinColumn(name = "user_id")), 
     inverseJoinColumns = arrayOf(JoinColumn(name = "review_id")) 
    ) 
    @JsonManagedReference 
    var reviews: List<Review>? = null 

) : Serializable 

及相關驅動程序表:

@Entity 
@Table(name = "ct_drivers") 
@JsonIgnoreProperties("password", "profile") 
class Driver(

    @Id 
    @Column(name = "id") 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    var id: Int = 0, 

    @Column(name = "first_name") 
    var firstName: String = "", 

    @Column(name = "last_name") 
    var lastName: String = "", 

    @Column(name = "rating") 
    var rating: Double = 5.0, 

    @Column(name = "reviews") 
    var reviewsCount: Int = 0, 

    @Column(name = "invited_by") 
    var invitedBy: Int? = 0, 

    @Column(name = "position_prev", columnDefinition = "geometry(Point,4326)") 
    var positionPrev: Point = Helpers.geometry(0.0, 0.0), 

    @Column(columnDefinition = "geometry(Point,4326)") 
    var position: Point = Helpers.geometry(0.0, 0.0), 

    @OneToOne(fetch = FetchType.LAZY) 
    @JoinColumn(name = "user_id") 
    var profile: User? = null, 

    @Transient 
    var distance: Int = 0 

) : Serializable 

當我嘗試刷新令牌(/ OAuth的/令牌grant_type = refresh_token我得到以下錯誤信息:

{ 
    "error": "server_error", 
    "error_description": "java.io.NotSerializableException: org.geolatte.geom.jts.PointSequenceCoordinateSequenceFactory" 
} 

我該如何解決它?這個問題的原因是什麼?

Helpers.geometry FUNC:

fun geometry(lat: Double, lng: Double): Point { 
     return GeometryFactory(PrecisionModel(), 4326).createPoint(Coordinate(lat, lng)) 
    } 

回答

0

我的錯。問題出在我的UserDetailsS​​ervice中,