【问题标题】:how to insert data in one to many relationship in spring jpa如何在spring jpa中以一对多关系插入数据
【发布时间】:2017-09-09 12:49:31
【问题描述】:

我是春天的新手。我想将数据插入到AUDIT 表中。 USER 和 AUDIT 表之间存在一对多关系。

对于每个登录和注销数据都应该插入到AUDIT 表中。我该怎么做?

用户实体:

@Table(name="USER")
public class User {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="USERID")
    private Long id;

    private String username;

    private String email;

    private Long phone;

    private String password;

    private int OTP;

    private boolean activation_flag;

    @OneToMany(cascade=CascadeType.ALL)
    @JoinColumn(name="USERID")
    private Set<Audit> audit;

    @ManyToOne
    @JoinColumn(name="ADDRESSID")
    private Address address;

    @ManyToMany(fetch = FetchType.EAGER)
    @JoinTable(
            name = "USER_AUTHORITY",
            joinColumns = {@JoinColumn(name = "USER_ID", referencedColumnName = "USERID")},
            inverseJoinColumns = {@JoinColumn(name = "AUTHORITY_ID", referencedColumnName = "ID")})
    private List<Authority> authorities;

审计实体:

@Entity
@Table(name="AUDIT")
public class Audit {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="AUDITID")
    private long auditid;

    @Column(name="GEOLOCATION")
    private String geolocation;

    @Column(name="ACTION")
    private String action;

    @Column(name="DATETIME")
    private Date datetime;

    @Column(name="DEVICEID")
    private long deviceid;

    @Column(name="ACTIONSUCCESS_FAIL")
    private boolean actionsuccess_fail;

    @Column(name="JWT_TOKEN")
    @Type(type="text")
    private String JWT_token;

    @ManyToOne
    private User user;

审计存储库:

public interface AuditRepository extends JpaRepository<Audit, Long> {
}

用户存储库:

public interface UserRepository extends JpaRepository<User, Long> {

    User findByUsername(String username);
    User findByEmail(String email);
    User findByPhone(Long phone);
    User findById(Long id);

}

【问题讨论】:

  • 我改进了格式(为了更好的可读性和希望更多的答案)
  • Thomas Fritsch 谢谢

标签: spring spring-boot spring-data-jpa


【解决方案1】:

将审核添加到您希望审核关联的用户,然后保存。

【讨论】:

  • 谢谢让BeFrank..你能告诉我如何在一对多关系中插入数据..
  • user.getAudits().add(newAudit);然后 userRepository.save(user);
  • 任何人都有我想通过 REST api 添加的答案
猜你喜欢
  • 1970-01-01
  • 2018-05-26
  • 2018-12-03
  • 2021-01-01
  • 2021-01-05
  • 1970-01-01
  • 2023-01-16
  • 2020-07-22
  • 1970-01-01
相关资源
最近更新 更多