1

私は本の例から始めました。それは本当にダミー指向のものであり、本が提供したコードに問題があります。

コードは次のとおりです。

@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 アノテーションについて不平を言っています。列 address_fk が見つからないと表示されます。

これは IDE 関連の問題ですか? 何か不足していますか?

編集:DBにまだテーブルが作成されていません。私のpersistence.xmlによって自動的にDBに表示されることを期待しています

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

1 に答える 1

2

注釈を使用して、デフォルトの代わりに@JoinColumn外部列名を指定することは問題ありません。address_fkaddress_id

機能しない可能性が高いのは、文字列を使用した@GeneratedValueです。仕様によると、生成された主キーとして整数型のみが移植可能です。

于 2012-08-14T08:59:39.567 に答える