DatabaseConnection.java
package com.dbanalyzer.model;
import jakarta.persistence.*;
import java.time.LocalDateTime;
@Entity
@Table(name = "database_connections")
public class DatabaseConnection {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false, unique = true)
private String name;
private String description;
@Enumerated(EnumType.STRING)
@Column(nullable = false)
private DatabaseType databaseType;
@Column(nullable = false)
private String host;
@Column(nullable = false)
private Integer port;
@Column(nullable = false)
private String databaseName;
private String schema;
@Column(nullable = false)
private String username;
@Column(nullable = false)
private String password;
@Column(name = "created_at")
private LocalDateTime createdAt;
@Column(name = "updated_at")
private LocalDateTime updatedAt;
@PrePersist
protected void onCreate() {
createdAt = LocalDateTime.now();
updatedAt = LocalDateTime.now();
}
@PreUpdate
protected void onUpdate() {
updatedAt = LocalDateTime.now();
}
// Constructors
public DatabaseConnection() {}
// Getters and Setters
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getDescription() { return description; }
public void setDescription(String description) { this.description = description; }
public DatabaseType getDatabaseType() { return databaseType; }
public void setDatabaseType(DatabaseType databaseType) { this.databaseType = databaseType; }
public String getHost() { return host; }
public void setHost(String host) { this.host = host; }
public Integer getPort() { return port; }
public void setPort(Integer port) { this.port = port; }
public String getDatabaseName() { return databaseName; }
public void setDatabaseName(String databaseName) { this.databaseName = databaseName; }
public String getSchema() { return schema; }
public void setSchema(String schema) { this.schema = schema; }
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 LocalDateTime getCreatedAt() { return createdAt; }
public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; }
public LocalDateTime getUpdatedAt() { return updatedAt; }
public void setUpdatedAt(LocalDateTime updatedAt) { this.updatedAt = updatedAt; }
}