@ManyToOne
ManyToOne 表示为此实体多对一,如学生对老师
使用@ManyToOne-----关联非主键列
@ManyToOne(cascade = CascadeType.MERGE)
@JoinColumn(name="CASECODE", referencedColumnName="CASENO")
private CaseInfoModel caseInfo;
CASECODE 表示当前实体类对应数据库表中的列名称。
CASENO 表示关联表中的列名称,可以不是主键,不写的时候则默认为关联表中设置的主键列。
使用HQL语句进行多表联查
需求:从两个表中查出带where条件的数据
String hql = select f from FileModel as f,StatusModel as s
//前面不加select时,默认from后面两个实体都会查询出来。
String where = Where f.statusId = s.Id and s.type = 2
需要传递什么参数,自己再设置传进去就可
注:使用HQL进行多表查询时,不能使用join on语句,sql形式hibernate不识别,会报错。
本文介绍了Java中使用Hibernate的@ManyToOne注解实现多对一关联映射,详细解释了CASECODE和CASENO在关联表中的含义,并展示了如何通过HQL进行带条件的多表联查。在HQL查询时,注意避免使用`join on`语句,因为Hibernate不支持。示例代码展示了查询FileModel和StatusModel两个实体的实例。
621

被折叠的 条评论
为什么被折叠?



