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