0

我希望帐户实体中的安全问题“引用”SecurityQuestion 表中的安全问题之一,而不是创建一个新问题。采取以下措施:

@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 的 form:select 来选择帐户的安全问题时,它会在我保存帐户实体时创建一个新的安全问题。注意:SecurityQuestion 表是要显示的预定义问题列表。

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

如何实现?

4

1 回答 1

0

我认为这是因为CascadeType.ALL设置并且您丢失了某处idSecurityQuestion因此,休眠以CascadeType.PERSIST创建新实体)。

于 2013-03-04T20:03:23.027 回答