2013-07-08 34 views
0

我使用org.springframework.orm.hibernate4.LocalSessionFactoryBean.LocalSessionFactoryBean並具有以下類別:外鍵集成代碼

@Entity 
@Table(name="ORDERS") 
public class Order implements Serializable { 

    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 
    private long id; 
    @OneToOne(fetch=FetchType.LAZY) 
    @JoinColumn 
    private Item item; 
    ... 
    } 

@Entity 
@Table(name="ITEM") 
public class Item implements Serializable { 

/** 
* 
*/ 
private static final long serialVersionUID = 1L; 
private long id; 
private String img; 
private long price; 
@OneToOne(fetch=FetchType.LAZY) 
@JoinColumn 
private ItemCategory category; 
private String description; 
... 
} 

但是當服務器出現,對於ORDERS表沒有創建外鍵:

mysql> desc ORDERS; 
    +------------+--------------+------+-----+---------+----------------+ 
    | Field  | Type   | Null | Key | Default | Extra   | 
    +------------+--------------+------+-----+---------+----------------+ 
    | id   | bigint(20) | NO | PRI | NULL | auto_increment | 
    | item  | tinyblob  | YES |  | NULL |    | 
    | placedDate | datetime  | YES |  | NULL |    | 
    | quantity | int(11)  | NO |  | NULL |    | 
    | status  | varchar(255) | YES |  | NULL |    | 
    +------------+--------------+------+-----+---------+----------------+ 
    5 rows in set (0.01 sec) 

什麼可能是錯的?請建議。

感謝

回答

1

這讓通過在getter方法移動@OneToOne解決。

應該有處罰的急躁,但任何人都可以告訴我爲什麼它不工作時,註釋是在屬性本身?

謝謝