【发布时间】: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