Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获得;映射类型的Java类是成员类;关于Eclipse/JPA中的嵌套类_Java_Jpa - Fatal编程技术网

获得;映射类型的Java类是成员类;关于Eclipse/JPA中的嵌套类

获得;映射类型的Java类是成员类;关于Eclipse/JPA中的嵌套类,java,jpa,Java,Jpa,我使用代码生成器生成嵌套类,大致如下所示: package generated; @Entity(name = "Items") @Table(name = "ITEMS") @Inheritance(strategy = InheritanceType.JOINED) public class Items implements Equals, HashCode { protected List<Items.Item> item; @OneToMany(

我使用代码生成器生成嵌套类,大致如下所示:

package generated;

@Entity(name = "Items")
@Table(name = "ITEMS")
@Inheritance(strategy = InheritanceType.JOINED)
public class Items
    implements Equals, HashCode
{

    protected List<Items.Item> item;

    @OneToMany(targetEntity = Items.Item.class, cascade = {
        CascadeType.ALL
    })
    @JoinColumn(name = "ITEM_ITEMS_HJID")
    public List<Items.Item> getItem() {
        if (item == null) {
            item = new ArrayList<Items.Item>();
        }
        return this.item;
    }

    public void setItem(List<Items.Item> item) {
        this.item = item;
    }

    // ...

    @Entity(name = "Items$Item")
    @Table(name = "ITEM")
    @Inheritance(strategy = InheritanceType.JOINED)
    public static class Item
        implements Equals, HashCode
    {
        // ...        
    }
}
生成包;
@实体(名称=“项目”)
@表(name=“ITEMS”)
@继承(策略=InheritanceType.JOINED)
公共类项目
实现Equals,HashCode
{
受保护的清单项目;
@OneToMany(targetEntity=Items.Item.class,级联={
全部
})
@JoinColumn(name=“ITEM\u ITEMS\u HJID”)
公共列表getItem(){
如果(项==null){
item=newarraylist();
}
退回此项目;
}
公共无效集合项(列表项){
this.item=项目;
}
// ...
@实体(name=“Items$Item”)
@表(name=“ITEM”)
@继承(策略=InheritanceType.JOINED)
公共静态类项
实现Equals,HashCode
{
// ...        
}
}

我在Eclipse中遇到以下错误:

映射类型“
Items$Item
”的Java类是一个成员类

错误标记在
@实体(name=“Items$Item”)
行上

这个错误意味着什么?我能做些什么


我的往返测试(将实体保存到数据库,加载,与原始测试进行比较)运行得很好。

我实际上遇到了一个类似的问题,并找到了解决方案:声明映射的成员类不受官方支持。因此,Eclipse抱怨类
Item
是在
Items
中定义的

由于代码与您正在使用的JPA实现一起工作,您可以关闭Eclipse中的错误消息:
窗口->首选项->Java持久性->JPA->错误/警告->类型->映射的Java类是成员类

您的代码生成器不符合JPA规范