2013-03-01 32 views
0

我希望帳戶實體中的安全問題「引用」SecurityQuestion表中的一個安全問題,而不是創建一個新問題。看看下面:@ManyToOne作爲其他表的參考

@Entity 
public class Account { 

    @Id 
    @GeneratedValue... 
    private Long id; 
    @ManyToOne(cascade=CascadeType.ALL) 
    private SecurityQuestion question; 
    ... 
} 

@Entity 
public class SecurityQuestion { 

    @Id 
    @GeneratedValue... 
    private Long id; 
    private String question; 
    ... 
} 

當使用Spring的表單:選擇選擇帳戶的安全問題,當我保存的帳戶實體創建一個新的安全問題。注意:SecurityQuestion表是要顯示的預定義問題的列表。

<form:select path="securityQuestion.question"> 
    <form:option value="" label="Select..."/> 
    <form:options items="${questions}" /> 
</form:select> 

這是如何實現的?

回答

0

我認爲這是因爲CascadeType.ALL集合,你失去了某個地方idSecurityQuestion(所以,冬眠以便CascadeType.PERSIST創建新的實體)。