Untitled
package se.iths.java24.Entity; import jakarta.persistence.*; import java.time.LocalDateTime; @Entity @Table(name = "User", schema = "demo") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "user_id") // Map the field to the correct column name private Long userId; @Column(name = "username", nullable = false) private String username; @Column(name = "email", nullable = false) private String email; @Column(name = "password", nullable = false) private String password; @Column(name = "created_at", updatable = false) private LocalDateTime createdAt; public User(String name, String email, String password) { this.username = name; this.email = email; this.password = password; } public User() { } @PrePersist public void prePersist() { System.out.println("Setting createdAt timestamp for user."); createdAt = LocalDateTime.now(); } public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public LocalDateTime getCreatedAt() { return createdAt; } public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; } // Optional alias for setUsername public void setName(String name) { setUsername(name); } @Override public String toString() { return "User{" + "userId=" + userId + ", username='" + username + '\'' + ", email='" + email + '\'' + ", createdAt=" + createdAt + '}'; } }
Leave a Comment