JPA JoinColumn不工作

JPA JoinColumn不工作,jpa,annotations,Jpa,Annotations,我从一本书中的一个例子开始。这真的是一个面向虚拟的版本,我对书中给出的代码有一个问题 这是代码 @Entity public class Customer { @Id @GeneratedValue private Long id; private String firstName; private String lastName; private String email; @OneToOne (fetch = FetchType.LAZY, cascade = {Ca

我从一本书中的一个例子开始。这真的是一个面向虚拟的版本,我对书中给出的代码有一个问题

这是代码

@Entity
public class Customer {
@Id
@GeneratedValue
private Long id;
private String firstName;
private String lastName;
private String email;

@OneToOne (fetch = FetchType.LAZY,
           cascade = {CascadeType.PERSIST, CascadeType.REMOVE})
@JoinColumn(name = "address_fk")
private Address address;
//getter, setter, Constructor
--//-------------------------------------

@Entity
public class Address {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private String id;
private String city;
private String street;
private String number;
在这里,它抱怨JoinColumn注释。它说找不到列地址

这是与IDE相关的问题吗?我错过什么了吗

编辑:尚未在数据库中创建表。我希望我的persistence.xml能够自动在数据库中看到它们

<property name="eclipselink.ddl-generation" value="create-tables"/>

使用
@JoinColumn
注释将外部列名指定为
地址_fk
而不是默认的
地址_id
,这样做很好


使用字符串可能不起作用。根据规范,只有生成主键的整数类型是可移植的。

它是如何抱怨JoinColumn的。当我把它取下来的时候。问题解决了。老实说,它现在比我以前选择的要好。我还将地址的id类型更改为Long。