java - 出现错误,无法使用 Root.join 解析路径的属性

标签 java jpa join

我正在做这样的多选:

          cq.multiselect(
            root.get("mxMsgPk"),
            root.get("referenceNo"),
            root.join("connectivityMsg", JoinType.LEFT)
                    .get("msgId"),
            root.get("inOutFlag"),
            root.join("messageStatusEntity", JoinType.LEFT)
                    .get("messageStatusId"),
            root.get("creationDate"),
            root.join("sourceMxXrefsEntity", JoinType.LEFT)
                    .join("sourceMsgEntity", JoinType.LEFT)
                    .join("sourceSystemMsg", JoinType.LEFT)
                    .get("msgId"),
            root.join("errorMsgEntity", JoinType.LEFT)
                    .get("referenceNo"),
            root.join("errorMsgEntity", JoinType.LEFT)
                    .get("errorMsgPk"),
            root.join("sourceMxXrefsEntity", JoinType.LEFT)
                    .join("sourceMsgEntity", JoinType.LEFT)
                    .get("sourceMsgPk"));

我的根实体是这样的:

@Entity
@Table(name="XYZ")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@NamedQuery(name="MxMsgEntity.findAll", query="SELECT m FROM MxMsgEntity m")
public class MxMsgEntity extends COMsgEntity {
private long mxMsgPk;
  private Set <SourceMxXrefEntity> sourceMxXrefsEntity;

public MxMsgEntity() {
}


@Id
@SequenceGenerator(name="EXC_MX_MSG", sequenceName = "SEQ_EXC_MX_MSG")
@GeneratedValue(strategy=GenerationType.AUTO, generator = "EXC_MX_MSG")
@Column(name="MX_MSG_PK", unique=true, nullable=false, precision=10)
public long getMxMsgPk() {
    return this.mxMsgPk;
}

public void setMxMsgPk(long mxMsgPk) {
    this.mxMsgPk = mxMsgPk;
}


public void setSourceMxXrefEntity(Set<SourceMxXrefEntity> sourceCOXrefsEntity) {
    this.sourceMxXrefsEntity = sourceCOXrefsEntity;     
}


//bi-directional many-to-one association to SourceMxXrefEntity
@OneToMany(mappedBy="mxMsgEntity")
public Set<SourceMxXrefEntity> getSourceMxXrefEntity() {
    return sourceMxXrefsEntity;
}

}

我收到以下错误:

无法根据路径解析属性[sourceMxXrefsEntity]。

我必须使用 Join,因为 SourceMxXrefEntity 是 MxMsgEntity 上的一个 Set。

不知道我错过了什么

最佳答案

带注释的 getter 名为 getSourceMxXrefEntity()。因此映射属性的名称是 sourceMxXrefEntity 而不是 sourceMxXrefsEntity

关于java - 出现错误,无法使用 Root.join 解析路径的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20650847/

相关文章:

java - 如何在 Sublime Text 3 中使用 JUnit

java - 一个类中的应用程序异常作为 EJBTransactionRollbackException 返回到调用类

java - 使用 JPA 从存储过程中获取 select 语句结果?

用于查找在一个表中但不在另一个表中的行的 MySQL 查询

javascript - 连接对象数组

java - 如何完全关闭你的App?

java - 使用可编辑组合框时,DefaultListCellRenderer 无法正确呈现空字符串

java - 获取特定列表后,Spring Jpa 删除操作不起作用

java - EntityClass 中的 LocalDate 扰乱了 sonarQube

mysql - 加快编译的 MySQL 查询(目前大约需要 15 秒)