java - @OnetoMany 类调用

标签 java hibernate jpa one-to-many

我的课需要一些帮助...

package com.it.ese.orbit.entity;
import javax.persistence.*;
import java.util.List;



/**
 * Created by IntelliJ IDEA.
 * User: Shahriar Newaz
 * Date: 07/03/11
 * Time: 10.07
 */
@Entity
@Inheritance(strategy =InheritanceType.JOINED)
public class OrbitObject {
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue


    @Column(name="id",nullable = false)
    private Long id;

    @Column(name="Scenario",nullable = false)
    private String scenario;  // not sure about how to map scenario

    @Column(name="code",nullable = true)
    private String code;

    @Column(name="name",nullable = true)
    private String name;

    @OneToOne(cascade=CascadeType.ALL)
    private Bia bia;

    @OneToOne(cascade=CascadeType.ALL)
    public Impatti impatti;


    @Column(name="parent",nullable = true)
    @OneToMany(cascade=CascadeType.ALL)
    private OrbitObject OrbitObject;


    public Long getId() {
     return id;
    }

    protected void setId(Long id) {
     this.id = id;
    }

    public String getCode() {
     return code;
    }

    public void setCode(String code) {
     this.code = code;
    }



    public String getScenario() {
        return scenario;
    }
    public void setScenario(String scenario) {
        this.scenario = scenario;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        name = name;
    }

     // LOG
    @Override
    public String toString(){
        return "com.it.ese.orbit.models.OrbitObject["
        + " - name="+name + " - scenario="+scenario +" - id= "+id+"]";
    }
}

但我得到错误...

Caused by: org.hibernate.AnnotationException: Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements: com.it.ese.orbit.entity.OrbitObject.OrbitObject

我希望我创建一个 OrbitObject 字段,就像同一类的对象一样... 请帮忙!

最佳答案

你要么做

@Column(name="parent",nullable = true)
@ManyToOne(cascade=CascadeType.ALL)
private OrbitObject OrbitObject;

或者

@Column(name="parent",nullable = true)
@OneToMany(cascade=CascadeType.ALL)
private Set<OrbitObject> OrbitObject;

第一种情况意味着该实体将是拥有方,即它将拥有外键。

关于java - @OnetoMany 类调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5664714/

相关文章:

hibernate - 避免 Grails/Hibernate 中的 N+1 选择

java - Spring Boot JPA - 定义一对多关系

java - NetBeans 上的 GlassFish 部署错误

database - 第一个 Hibernate 项目在哪里放置 addAnnotatedClass()

java - 在 xml 配置文件中找不到类 [org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean]

java - TransactionAttributeType.NOT_SUPPORTED 对检索实体有意义吗?

java - 一对多关系 JPA/Hibernate 删除链接

java - Guice - 如何绑定(bind)在程序运行时确定的类型?

java - 如何将变量传递到 SQL 查询中

java - 查询 Cloud Datastore 中的嵌入式实体