Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JPA和hibernate管理简单的blog表结构?_Hibernate_Jpa - Fatal编程技术网

如何使用JPA和hibernate管理简单的blog表结构?

如何使用JPA和hibernate管理简单的blog表结构?,hibernate,jpa,Hibernate,Jpa,我想定义一个blog实体,如下所示: Blog{ ... likeCount: Int commentCount: Int } BlogLike{ bid: Long uid: Long } 我不想将likeCount定义为Blog表中存在的字段。 当我访问字段时,我希望从BlogLike表计算它。 在谷歌搜索了一段时间后,我了解到hibernate的@公式注释可能是一种选择 我的主要问题是关于BlogLike表,结构如下: Blog{ ... likeCount: Int

我想定义一个blog实体,如下所示:

Blog{
 ...
 likeCount: Int
 commentCount: Int
}
BlogLike{
 bid: Long
 uid: Long
}
我不想将likeCount定义为Blog表中存在的字段。 当我访问字段时,我希望从
BlogLike
表计算它。 在谷歌搜索了一段时间后,我了解到hibernate的
@公式
注释可能是一种选择

我的主要问题是关于BlogLike表,结构如下:

Blog{
 ...
 likeCount: Int
 commentCount: Int
}
BlogLike{
 bid: Long
 uid: Long
}
bid
是博客的id,
uid
是用户的id

现在,我的问题是,
如何定义ForeignKey约束?

还是有更好的方法来实现这一点?经过一段时间的尝试,我找到了一种方法

@实体
@IdClass(BlogLike.BlogLikeId::class)
类博客{
@身份证
@manytone(fetch=FetchType.LAZY)
@JoinColumn(name=“投标”)
lateinit var博客:博客
@身份证
@manytone(fetch=FetchType.LAZY)
@JoinColumn(name=“uid”)
lateinit var用户:用户
类BlogLikeId:Serializable{
var blog:Long?=null
变量用户:长?=null
}
}