首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >@ EclipseLink忽略的访问,在Hibernate中工作正常

@ EclipseLink忽略的访问,在Hibernate中工作正常
EN

Stack Overflow用户
提问于 2012-05-21 09:18:57
回答 1查看 2.5K关注 0票数 3

我在字段上有一个带有@EmbeddedId的实体,我重写了字段的访问类型,使其成为Property访问。但是EclipseLink忽略了这一点,在Hibernate中,这是可以的。另外,Netbeans还向我显示了错误,因为:

类必须使用一致的访问类型(字段或属性).

没有为这个实体层次结构定义ID .

代码语言:javascript
运行
复制
@EmbeddedId
private OneId id;

@Transient
private String cosmin;

@Access(AccessType.PROPERTY) // ??
public String getCosmin() {
    return cosmin;
}

public void setCosmin(String cosmin) {
    this.cosmin = cosmin;
}
EN

Stack Overflow用户

发布于 2012-06-19 19:21:45

问题是,该实体遗漏了以下类级注释:

代码语言:javascript
运行
复制
@Access(AccessType.FIELD)

只需从@Entity中将其添加到下一个。当对字段和方法进行注释时,您不知道实际使用的是哪种访问类型。在您的例子中,它似乎是方法访问,@EmbeddedId被忽略了。

在JPA2.0规范中,这是用以下几个词描述的:

应用程序在没有显式指定Access注释的情况下将注释放在实体层次结构中的字段和属性上的行为是未定义的。

..。

当访问(字段)应用于这样的类时,可以有选择地指定类中的单个属性以进行属性访问。若要指定持久性提供程序运行时访问的持久性属性,则必须指定该属性为access (属性)。

票数 5
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10682528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档