简体   繁体   English

在spring数据JPA中联接两个表并从存储库中查询两个表数据

[英]Joining two table in spring data JPA and Querying two table data from repository

I am using Sprind JPA, Spring 3.1.2(in future 3.2.3), Hibernate 4.1 final. 我正在使用Sprind JPA,Spring 3.1.2(将来的3.2.3),Hibernate 4.1 final。 I am new to Sprind Data JPA. 我是Sprind Data JPA的新手。 I have tow Table Release_date_type and Cache_media which entities are as follows : 我有两个表Release_date_type和Cache_media,它们的实体如下:

ReleaseAirDate.java ReleaseAirDate.java

@Entity
@Table(name = "Release_date_type")
public class ReleaseDateType {
    @Id
    @GeneratedValue(strategy=GenerationType.TABLE)
    private Integer release_date_type_id;
    @Column
    private Integer sort_order;
    @Column
    private String description;
    @Column
    private String data_source_type;
    @Column(nullable = true) 
    private Integer media_Id;
    @Column
    private String source_system; with getters and setters..

and CacheMedia as 和CacheMedia为

@Entity
@Table(name = "Cache_Media")
public class CacheMedia {   
    @Id
    @GeneratedValue(strategy=GenerationType.TABLE)
    private Integer id;
    @Column(name="code")
    private String code;
    @Column(name="POSITION")
    private Integer position;
    @Column(name="DESCRIPTION")
    private String media_Description; with setter and getters.

Now my repository interface is as follows : 现在我的存储库界面如下:

public interface ReleaseDateTypeRepository extends CrudRepository<ReleaseDateType, Long>{ }

Now i want to write a method(Query) in ReleaseDateTypeRepository interface which can get all the data from Release_Date_Type table including appropriate media_description from Table 'Cache_Media' based on media_id of Release_date_type table. 现在,我想写一个方法(查询) ReleaseDateTypeRepository接口,可以得到所有从数据Release_Date_Type表包括适当media_description基于表“Cache_Media” media_idRelease_date_type表。

So my select (SQL)query looks like 所以我的选择(SQL)查询看起来像

SELECT * from Release_Date_Type r left join Cache_Media c on r.media_id=c.id

I don't know how to map entities. 我不知道如何映射实体。 I tried so many thing but not luck. 我尝试了很多事情,但没有走运。 Any help is appreciated. 任何帮助表示赞赏。

它不是通过Hibernate进行联接的答案,但是您也可以使用联接创建视图并将该视图映射到对象

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM