Ich bin neu im Frühling. Ich möchte die Daten in die Tabelle AUDIT
einfügen. Zwischen den Tabellen USER
und AUDIT
besteht eine Eins-Zwei-Viele-Beziehung.wie man Daten in einer Beziehung im Frühjahr jpa einfügt
Für jede Anmeldung und Abmeldung sollten Daten in die AUDIT
Tabelle eingefügt werden. Wie kann ich das machen?
Der Benutzer Einheit:
@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;
Die Prüfungsunternehmen:
@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;
Das Audit-Repository:
public interface AuditRepository extends JpaRepository<Audit, Long> {
}
Benutzerrepository:
public interface UserRepository extends JpaRepository<User, Long> {
User findByUsername(String username);
User findByEmail(String email);
User findByPhone(Long phone);
User findById(Long id);
}
Ich habe Formatierung verbessert (für bessere Lesbarkeit und hoffentlich mehr Antworten) –
Thomas Fritsch danke –