Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để ánh xạ Dấu thời gian ngủ đông với MySQL BIGINT?

Ngoài ra, hãy xem việc tạo triển khai Loại ngủ đông tùy chỉnh. Một cái gì đó dọc theo dòng (mã psuedocode vì tôi không có môi trường tiện dụng để làm cho nó chống đạn):

public class CalendarBigIntType extends org.hibernate.type.CalendarType {
    public Object get(ResultSet rs, String name) {
        return cal = new GregorianCalendar(rs.getLong(name));
    }
    public void set(PreparedStatement stmt, Object value, int index) {
        stmt.setParameter(index, ((Calendar) value).getTime());
    }
}

Sau đó, bạn sẽ cần ánh xạ đối tượng mới của mình bằng cách sử dụng ánh xạ TypeDef và Type ngủ đông. Nếu bạn đang sử dụng chú thích Hibernate, nó sẽ nằm dọc theo dòng:

@TypeDef (name="bigIntCalendar", typeClass=CalendarBigIntType.class)
@Entity
public class MyEntity {
    @Type(type="bigIntCalendar")
    private Calendar myDate;
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mã lỗi MySQL:Lỗi 1030Got -1 từ công cụ lưu trữ; Tôi đã cố xóa dữ liệu khỏi cơ sở dữ liệu của mình

  2. Linq to SQL bằng cách sử dụng nhóm Theo, và sắp xếp theo số lượng

  3. MySQL # 1364 - Trường 'column_name' không có giá trị mặc định - Không thể chèn vào DB

  4. Thiết lập MySQL InnoDB Cluster với MySQL Shell (cùng với MySQL Router)

  5. Hiển thị truy vấn SQL đầy đủ trong Hiển thị danh sách xử lý của MySQL