Как управлять простой структурой таблицы блога с помощью JPA и спящего режима? - PullRequest
0 голосов
/ 10 марта 2020

Я хочу определить сущность блога следующим образом:

Blog{
 ...
 likeCount: Int
 commentCount: Int
}

Я не хочу определять likeCount как поле, которое существует в таблице блога. Я хочу, чтобы он вычислялся из таблицы BlogLike при доступе к полю. Через некоторое время я узнал, что аннотация hibernate @Formula может быть выбором.

И моя главная проблема связана с таблицей BlogLike, структура которой выглядит следующим образом:

BlogLike{
 bid: Long
 uid: Long
}

bid - это идентификатор блога, а uid - это идентификатор пользователя

, теперь моя проблема в том, how can I define the ForeignKey constraint?

или есть лучший способ добиться этого?

1 Ответ

0 голосов
/ 10 марта 2020

Попробовав некоторое время, я нашел способ сделать это

@Entity
@IdClass(BlogLike.BlogLikeId::class)
class BlogLike {
    @Id
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "bid")
    lateinit var blog: Blog
    @Id
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "uid")
    lateinit var user: User

   class BlogLikeId: Serializable {
       var blog: Long? = null
       var user: Long? = null
   }
}
...