Tôi đang làm việc trên một ứng dụng Spring JPA, sử dụng MySQL làm cơ sở dữ liệu. Tôi đảm bảo rằng tất cả thư viện spring-jpa, hibernate và mysql-connector-java được tải.Không có ánh xạ đối tượng cho loại JDBC: 1111
Tôi đang chạy phiên bản mysql 5. Dưới đây là một đoạn trích của tập tin application.properties tôi:
spring.jpa.show-sql=false
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.datasource.url=jdbc:mysql://localhost/mydatabase
spring.datasource.username=myuser
spring.datasource.password=SUPERSECRET
spring.datasource.driverClassName=com.mysql.jdbc.Driver
Khi thực hiện một thử nghiệm hội nhập, mùa xuân startsup đúng nhưng không thành công trên tạo SessionFactory ngủ đông, với ngoại lệ:
org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111
Tôi nghĩ tiếng địa phương của tôi nên được Mysql5Dialect, tôi cũng đã thử một cách rõ ràng nêu InnoDB, và hai phương ngữ tùy chọn mà không chỉ ra phiên bản 5. Nhưng tôi luôn luôn kết thúc với cùng một 'Không có bản đồ Dialect cho JDBC loại: 1111' tin nhắn. Tệp application.properties của tôi nằm trong thư mục nguồn thử nghiệm/tài nguyên. Nó được công nhận bởi JUnit Test runner (trước đây tôi đã có ngoại lệ vì lỗi đánh máy trong đó).
Thuộc tính tôi đang đặt sai? Tôi không thể tìm thấy một số tài liệu chính thức về các tên thuộc tính này nhưng đã tìm thấy gợi ý trong câu trả lời xếp chồng này: https://stackoverflow.com/a/25941616/1735497
Mong chờ câu trả lời của bạn!
BTW Ứng dụng đang sử dụng khởi động mùa xuân.
Thông báo lỗi có nghĩa là một cột trả về dữ liệu trong một kiểu không thể ánh xạ.'Không có ánh xạ đối tượng cho kiểu JDBC: 1111' chỉ ra java.sql.Types.OTHER'. Bạn chọn loại cột nào từ bảng? – SubOptimal
Ồ, cảm ơn. Tôi nghĩ điều này có nghĩa là loại phương ngữ ... Tôi thích sử dụng UUID làm ID và trước đây chúng tôi luôn làm việc với postgres, có loại cột UUID. Vì vậy, chúng tôi chỉ có thể nói @Type (type = "pg-uuid"); Tôi không nghĩ rằng mysql có một loại cột UUID mặc dù – SakeSushiBig
Chỉ cần phát hiện ra nó rất giống với postgres: áp dụng chú thích @Type (type = "uuid-char") cho thuộc tính id. – SakeSushiBig