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

时间:2013-11-18 13:54:32

标签: java hibernate jpa nhibernate-mapping spring-data-jpa

我正在使用Sprind JPA,Spring 3.1.2(将来的3.2.3),Hibernate 4.1 final。 我是Sprind Data JPA的新手。我有两个Table Release_date_type和Cache_media,其实体如下:

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..

和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.

现在我的存储库界面如下:

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

现在我想在ReleaseDateTypeRepository接口中编写一个方法(查询),它可以从Release_Date_Type表中获取所有数据,包括来自表'Cache_Media'的相应media_description基于{{1 } media_id表。

所以我的select(SQL)查询看起来像

Release_date_type

我不知道如何映射实体。 我尝试了很多东西,但没有运气。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

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