Tôi đang làm việc để tạo một bộ phụ kiện chú thích JPA 2.0 cho việc thực tập của tôi. Ngay bây giờ, tôi tự hỏi khi nào chú thích @MapKeyTemporal là bắt buộc và khi nào tùy chọn ...TemporalType mặc định cho khóa bản đồ thời gian không có chú thích @MapKeyColumn hoặc @MapKeyTemporal là gì?
Tôi biết rằng khi bạn xác định cột của khóa bản đồ bằng cách sử dụng @MapKeyColumn, loại khóa sẽ được ánh xạ tới có thể được bắt nguồn bằng cách xem xét loại cột (và ngược lại là loại trong cột màu). Do đó, trong trường hợp này, không cần chú thích @MapKeyTemporal.
Khi bạn đính kèm chú thích @MapKeyTemporal, tên cột được mặc định là ATTRIBUTE + "_KEY".
Khi bạn không chú thích @MapKeyColumn và @MapKeyTemporal, tên cột được mặc định là ATTRIBUTE + "_KEY", nhưng loại mặc định là gì? Hay bạn phải nhận được một lỗi?
Tôi đã tìm kiếm một tình huống tương tự và tìm thấy @MapKeyEnumerated. Nó giống nhau vì nó liên quan đến @MapKeyColumn và đó là một giá trị có thể được ánh xạ tới nhiều kiểu dữ liệu (java.sql.Date/java.sql.Time/java.sql.Timestamp
cho @MapKeyTemporal và EnumeratedType.ORDINAL
/EnumeratedType.STRING
cho @MapKeyEnumerated). Tôi đã tìm thấy một sự khác biệt: @MapKeyEnumerated có mặc định. Mặc định này là EnumeratedType.ORDINAL
.
Câu hỏi của tôi: Khi sử dụng bản đồ có khóa bản đồ có loại cơ bản là loại thời gian, TemporalType mặc định (theo JPA 2.0) mà khóa bản đồ được chuyển đổi để lưu giữ là gì?
Tự hỏi về việc đặt tiền thưởng cho việc này, nhưng tôi không chắc chắn tôi sẽ nhận được câu trả lời hay không. Ai đó có thể cho tôi biết làm thế nào để cải thiện câu hỏi của tôi vì vậy tôi sẽ có thể nhận được một câu trả lời (có thể với một tiền thưởng 50)? – Pimgd