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
Jpa 使用eclipselink从实体创建正确的ddl时出现问题_Jpa_Orm_Eclipselink - Fatal编程技术网

Jpa 使用eclipselink从实体创建正确的ddl时出现问题

Jpa 使用eclipselink从实体创建正确的ddl时出现问题,jpa,orm,eclipselink,Jpa,Orm,Eclipselink,我有两个实体,一个是人,一个是身份,一个是关系 @Entity @Table(name = "PERSON") public class Person implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; @Column(name = "FIRST_NAME") private String firstNa

我有两个实体,一个是人,一个是身份,一个是关系

@Entity
@Table(name = "PERSON")
public class Person implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    @Column(name = "FIRST_NAME")
    private String firstName;

    @Column(name = "LAST_NAME")
    private String lastName;

    @JoinColumn(name = "STATUS_ID", referencedColumnName = "ID")
    @ManyToOne(cascade = CascadeType.ALL)
    private Status status;

    // setters & getters
}

)

显然有些问题,因为我不需要在我的
status
表中有
PERSONCOLLECTION LONGBLOB
字段。 我的映射有问题吗


使用:Netbeans 8、Eclipselink、JPA 2.1、mysql 5.6

尝试删除@basic注释也使用“列表”而不是“集合”

删除@basic成功了。事实证明,我应该使用
@OneToMany(mappedBy=“status”,fetch=FetchType.LAZY)
来代替,或者甚至使用
@OneToMany(mappedBy=“status”)
,因为默认情况下,OneToMany关系是惰性加载的。
@Entity
@Table(name = "STATUS")
public class Status implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "ID")
    private Integer id;

    @Column(name = "ABBREVIATION")
    private String abbreviation;

    @Column(name = "TITLE")
    private String title;

    @Basic(fetch=FetchType.LAZY)
    @OneToMany(mappedBy = "status")
    private Collection<Person> personCollection;

    // setters & getters    
}
CREATE TABLE `person` (
`ID` INT(11) NOT NULL AUTO_INCREMENT,
`FIRST_NAME` VARCHAR(255) NULL DEFAULT NULL,
`LAST_NAME` VARCHAR(255) NULL DEFAULT NULL,
`NICK_NAME` VARCHAR(255) NULL DEFAULT NULL,
`STATUS_ID` INT(11) NULL DEFAULT NULL,
PRIMARY KEY (`ID`),
INDEX `FK_PERSON_STATUS_ID` (`STATUS_ID`),
CONSTRAINT `FK_PERSON_STATUS_ID` FOREIGN KEY (`STATUS_ID`) REFERENCES `status` (`ID`)
)

CREATE TABLE `status` (
`ID` INT(11) NOT NULL AUTO_INCREMENT,
`ABBREVIATION` VARCHAR(255) NULL DEFAULT NULL,
`PERSONCOLLECTION` LONGBLOB NULL,
`TITLE` VARCHAR(255) NULL DEFAULT NULL,
PRIMARY KEY (`ID`)