start
This commit is contained in:
105
src/main/java/com/example/hangry/User.java
Normal file
105
src/main/java/com/example/hangry/User.java
Normal file
@ -0,0 +1,105 @@
|
||||
package com.example.hangry;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Entity
|
||||
public class User {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
@Column(unique = true, nullable = false)
|
||||
private String username;
|
||||
|
||||
@Column(nullable = false)
|
||||
private String password; // Hier solltest du sicherstellen, dass das Passwort verschlüsselt wird
|
||||
|
||||
@Column(unique = true, nullable = false)
|
||||
private String email;
|
||||
|
||||
private String role; // Für Rollen wie "ADMIN", "USER", etc.
|
||||
|
||||
// Many-to-Many Beziehung zu Ingredients
|
||||
@ManyToMany
|
||||
@JoinTable(
|
||||
name = "user_ingredients",
|
||||
joinColumns = @JoinColumn(name = "user_id"),
|
||||
inverseJoinColumns = @JoinColumn(name = "ingredient_id")
|
||||
)
|
||||
private List<Ingredient> ingredients = new ArrayList<>();
|
||||
|
||||
// No-Args-Konstruktor (wichtig für JPA)
|
||||
public User() {
|
||||
}
|
||||
|
||||
// All-Args-Konstruktor
|
||||
public User(Long id, String username, String password, String email, String role) {
|
||||
this.id = id;
|
||||
this.username = username;
|
||||
this.password = password;
|
||||
this.email = email;
|
||||
this.role = role;
|
||||
}
|
||||
|
||||
// Getter und Setter
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public String getRole() {
|
||||
return role;
|
||||
}
|
||||
|
||||
public void setRole(String role) {
|
||||
this.role = role;
|
||||
}
|
||||
|
||||
public List<Ingredient> getIngredients() {
|
||||
return ingredients;
|
||||
}
|
||||
|
||||
public void setIngredients(List<Ingredient> ingredients) {
|
||||
this.ingredients = ingredients;
|
||||
}
|
||||
|
||||
// Methode, um eine Zutat zu einem User hinzuzufügen
|
||||
public void addIngredient(Ingredient ingredient) {
|
||||
this.ingredients.add(ingredient);
|
||||
}
|
||||
|
||||
// Methode, um eine Zutat aus der Liste zu entfernen
|
||||
public void removeIngredient(Ingredient ingredient) {
|
||||
this.ingredients.remove(ingredient);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user