使用ListAll在JPA中包含相关表中的列

问题描述

我有2个相关的表,我想知道当我在表2中调用函数ListAll()时是否可以包括表1中的其他列(例如名字和姓氏)?我将JPA与会话Bean(AbstractFacade)和JSF页面一起使用。在此先感谢:-)

表1

  CREATE TABLE cases (
  caseid INT AUTO_INCREMENT PRIMARY KEY,category VARCHAR(32),descript VARCHAR(512),isDone tinyint,userid INT,INDEX user_ind(userid),FOREIGN KEY (userid) REFERENCES USERS(userid)
);

表2

    CREATE TABLE users (
    userid INT NOT NULL AUTO_INCREMENT,firstname VARCHAR(64) NOT NULL,surname VARCHAR(64) NOT NULL,telephone VARCHAR(12),email VARCHAR(64),PRIMARY KEY (userid)
);

实体控制器

@Named(value = "caseController")
@SessionScoped
public class CaseController implements Serializable {
    
    @EJB
    CasesFacade casesFacade;
    
    @Inject
    CasesBean casesBean;
    
    public List<Cases> getAll() {
        return casesFacade.findAll();
    }

解决方法

如果我正确理解,也许一个好主意是将选定的列/字段解压缩到级别存储库或代码中的自定义DTO。