Tôi có một số enums trong đơn đăng ký được sử dụng làm loại thuộc tính trong một số lớp.Cách tốt nhất để lưu trữ các giá trị enum trong cơ sở dữ liệu - String hoặc Int
Cách tốt nhất để lưu trữ các giá trị này trong cơ sở dữ liệu là String hoặc Int là gì?
FYI, tôi cũng sẽ ánh xạ các loại thuộc tính này bằng cách sử dụng chế độ Nhibernate thông thạo.
Mẫu mã:
public enum ReportOutputFormat
{
DOCX,
PDF,
HTML
}
public enum ReportOutputMethod
{
Save,
Email,
SaveAndEmail
}
public class ReportRequest
{
public Int32 TemplateId
{
get { return templateId; }
set { templateId = value; }
}
public ReportOutputFormat OutputFormat
{
get { return outputFormat; }
set { outputFormat = value; }
}
public ReportOutputMethod OutputMethod
{
get { return outputMethod; }
set { outputMethod = value; }
}
}
Tôi không thể tin rằng bạn thậm chí còn xem xét một nửa giới thiệu phương pháp tiếp cận có thể dễ dàng dẫn đến hỏng dữ liệu! Chỉ cần ra khỏi một mối quan tâm tưởng tượng cho compactness? Nếu mối quan tâm nhỏ gọn là mạnh mẽ, thêm một trường int vào enum! KHÔNG BAO GIỜ dựa vào thứ tự. Đọc Java hiệu quả. –
Tôi thực sự không thấy nơi tôi đề xuất bất cứ điều gì phải trung thực. Tôi chỉ nêu rõ những ưu điểm và nhược điểm. Mặc dù bạn có một điểm, không muốn dựa vào giá trị thứ tự, bạn có thể muốn biến 'lửa' đó trong nhận xét của bạn xuống một bậc;) – pyrocumulus
@KevinBourrillion "Thêm một trường int vào enum" nghĩa là gì? – John