Spring связи MySQL

После добавления любых отношений в класс UserModel и при попытке получения данных по любому из полей появляется ошибка. Я новичок в Spring, что я делаю не так?

`2021-08-03 15:49:54.158 ERROR 11808 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.StackOverflowError] with root cause

java.lang.StackOverflowError: null
    at java.base/java.lang.Long.numberOfTrailingZeros(Long.java:1805) ~[na:na]
    at java.base/jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.dtoa(FloatingDecimal.java:431) ~[na:na]
    at java.base/jdk.internal.math.FloatingDecimal.getBinaryToASCIIConverter(FloatingDecimal.java:1825) ~[na:na]
    at java.base/jdk.internal.math.FloatingDecimal.appendTo(FloatingDecimal.java:98) ~[na:na]
    at java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:883) ~[na:na]
    at java.base/java.lang.StringBuilder.append(StringBuilder.java:258) ~[na:na]
    at octii.dev.taxi.models.DriverAvailableModel.toString(DriverAvailableModel.kt) ~[classes/:na]
    at java.base/java.lang.String.valueOf(String.java:3352) ~[na:na]
    at java.base/java.lang.StringBuilder.append(StringBuilder.java:166) ~[na:na]
    at octii.dev.taxi.models.UserModel.toString(UserModel.kt) ~[classes/:na]
    at java.base/java.lang.String.valueOf(String.java:3352) ~[na:na]
    at java.base/java.lang.StringBuilder.append(StringBuilder.java:166) ~[na:na]
    at octii.dev.taxi.models.DriverAvailableModel.toString(DriverAvailableModel.kt) ~[classes/:na]
    at java.base/java.lang.String.valueOf(String.java:3352) ~[na:na]
    at java.base/java.lang.StringBuilder.append(StringBuilder.java:166) ~[na:na]
    at octii.dev.taxi.models.UserModel.toString(UserModel.kt) ~[classes/:na]
    at java.base/java.lang.String.valueOf(String.java:3352) ~[na:na]`

Класс UserModel:

@Entity
@Table(name = "users")
data class UserModel(
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "_id", insertable = false, updatable = false)
    var id: Long = -1,
    @Column(name = "user_name")
    var userName : String = "",
    @Column(name = "user_phone")
    var phone : String = "",
    @Column(name = "user_type")
    var type : String = "client",
    @Column(name = "token")
    var token : String = "",
    @Column(name = "is_whatsapp")
    var isWhatsapp : Boolean = false,
    @Column(name = "is_viber")
    var isViber : Boolean = false,
    @Column(name = "uuid")
    var uuid : String = UUID.randomUUID().toString(),
    @Column(name = "is_only_client")
    var isOnlyClient : Boolean = type == "client",
    @Column(name = "avatar_url")
    var avatarURL : String? = "",
    @OneToOne(mappedBy = "driver", cascade = [CascadeType.ALL])
    var driver : DriverAvailableModel? = null
)

Класс DriverAvailableModel:

@Entity
@Table(name = "drivers_available")
data class DriverAvailableModel(
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "_id")
    var id: Long = -1,
    @Column(name = "ride_distance")
    var rideDistance : Float = 15f,
    @Column(name = "price_per_minute")
    var pricePerMinute : Float = 1f,
    @Column(name = "price_per_km")
    var pricePerKm : Float = 10f,
    @Column(name = "price_waiting_min")
    var priceWaitingMin : Float = 1f,
    @Column(name = "is_working")
    var isWorking : Boolean = false,
    @OneToOne(optional = false)
    @JoinColumn(name = "user_id")
    @JsonBackReference
    var driver : UserModel

)

Сделал Debug и оказалось, что ошибка возникает при получении модели в Репозитории Usermodel в методе findByToken:

@Repository
interface UserRepository : JpaRepository<UserModel, Long>, Serializable {
    fun findByToken(token : String) : UserModel?
}

Ответы (0 шт):