Java Hibernate:引用关联中的列,以提高效率

Java Hibernate:引用关联中的列,以提高效率,java,sql,database,hibernate,jpa,Java,Sql,Database,Hibernate,Jpa,为了简单起见,我会把桌子砍掉一些 鉴于表格报告的下载,报告 REPORT has ID, NAME REPORT_DOWNLOAD has ID, FK_REPORT_ID 我基本上想要构建查询: SELECT R.NAME, RD.ID FROM REPORT_DOWNLOAD RD, REPORT R WHERE RD.FK_REPORT_ID = R.ID 我的报表下载实体基本上如下所示 @ManyToOne(fetch = FetchType.LAZY) @JoinC

为了简单起见,我会把桌子砍掉一些

鉴于表格报告的下载,报告

REPORT has ID, NAME
REPORT_DOWNLOAD has ID, FK_REPORT_ID
我基本上想要构建查询:

SELECT R.NAME, RD.ID FROM REPORT_DOWNLOAD RD, REPORT R WHERE
        RD.FK_REPORT_ID = R.ID
我的报表下载实体基本上如下所示

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "FK_REPORT_ID", referencedColumnName = "ID", nullable = false)
private ReportOrm report;
但这质疑了整个报告表。是否有方法仅引用实体中的名称列

@SomeAnnotationThatMagicallyPulls("FK_REPORT_ID", "NAME")
private String reportName;

我觉得这里一定有一些Hibernate/JPA魔法,我可以使用

这能回答你的问题吗。还有,fwiw这样的东西就是为什么我喜欢Mybatis搭配Spring而不是Hibernate/JPA。也许@SecondaryTable会有帮助?请参阅:但在我看来,实体应该反映表,如果您希望混合不同表中的值,则应该创建DTO对象。