我有使用Primefaces和JSF的JavaEE项目,使用Hibernate访问数据库。 令我困惑的是,应用程序工作正常,但Eclipse说@IdClass中存在错误 - 与ID类属性站点匹配的属性没有正确的类型站点。
如果在OperatorSiteCompositeKey类中,我更改"运算符"和"网站"使用Long然后错误通知消失。
请有人解释为什么会发生这种情况以及如何解决这个问题?
提前谢谢!
@Entity
@IdClass(OperatorSiteCompositeKey.class)
public class OperatorSite implements Serializable {
@Id
@ManyToOne
@JoinColumn(name="OPERATORID")
private Operator operator;
@Id
@ManyToOne
@JoinColumn(name="SITEID")
private Site site;
//getters and setters
}
这是我的复合密钥类
public class OperatorSiteCompositeKey implements Serializable {
private Operator operator;
private Site site;
//getters and setters
}
答案 0 :(得分:0)
我在eclipse Oxygen上遇到了同样的错误。 当您尝试使用@IdClass向JPA指示您有一个由一个或多个外键组成的主键时,它似乎是一个相关的错误here。