首页 > 解决方案 > Spring jpa date getReference(getOne)按唯一字段

问题描述

我有一个实体与其他实体没有级联关系,如下所示:

@Entity
public class User {

    //id
    @Id
    private Long id;

    //fields
    @Column(unique = true, nullable = false)
    private String username;

    @Column(nullable = false)
    private String password;

    @OneToMany(mappedBy = "owner")
    private List<Address> addressList;

}

和这个实体:

@Entity
public class Address{

    //id
    @Id
    private Long id;

    //fields
    private String title;

    @Column(nullable = false)
    private String location;

    @ManyToOne(fetch = FetchType.LAZY, optional = false)
    @JoinColumn(name = "owner_id")
    private User owner;

}

在这个例子中,我想创建地址而不从数据库重新获取用户并使用 jpa getReference,但我没有用户 ID,只有用户名如何通过用户名等唯一字段调用 SpringJpaData getOne()?有没有更好的选择来创建新地址而不从数据库获取用户?

标签: jpaspring-data-jpa

解决方案


推荐阅读