0

私には、他の人 (メンター) と関係のある実体 Person があります。この人はnull. Constraints.Required注釈だけでメンターが強制的に設定されると思いました。注釈を削除するとManyToOne、メンターは接続されません。

@Entity
public class Person extends Model {

    @Id
    @Constraints.Required
    @Formats.NonEmpty
    public Integer id;

    @ManyToOne
    @Constraints.Required
    public User user;

    @Constraints.Required
    public String firstName;

    @Constraints.Required
    public String lastName;

    @ManyToOne
    public Person mentor;

    ...

メンターのいない人をどうやって持つことができますか?

4

1 に答える 1

1

注釈の使用法は、実際にはJPAプロバイダーに、テーブル/リレーションに外部キー@ManyToOneがあると考えるように「指示」しています(これは、メンターへの1:nリレーションb/n人をモデル化し、外部キーをnullにすることはできません)しかし、あなたの質問から、あなたのビジネスのニーズには 1:n自体は必要ないので、単に注釈を削除し、人にメンターがいる場合は、この関係を JPA エンティティ コンストラクターまたはセッター メソッドを介して手動で配線します。Person@ManyToOne

于 2013-06-22T08:43:52.233 に答える