Tôi hơi bối rối bởi chiến lược đặt tên (phiên bản 5.1) hibernates - cụ thể là nó thay đổi tên bảng của tôi và tôi muốn tránh điều đó. Ngoài ra - spring.jpa.hibernate.naming_strategy
dường như không được dùng nữa theo intelij, nhưng tôi không thể tìm thấy cách cấu hình chính xác (nother).Hibernate đổi tên chiến lược đổi tên bảng
tôi có cấu hình như sau trong application.properties:
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
spring.jpa.properties.hibernate.current_session_context_class=thread
Người đầu tiên được đánh dấu là depracted, như đã nói.
Bây giờ tôi có một thực thể:
@Entity
@Table(name = "usaUploadTable", schema = "usertable201", catalog = "")
public class UsaUploadTable {
....
}
Tên bảng là, giống như trong @Table(name = "")
usaUploadTable.
Bây giờ khi tôi chạy ứng dụng của tôi, tôi nhận được
Bảng 'usertable201.usa_upload_table' không tồn tại
đó là chính xác - nó không được đặt tên như thế nào ngủ đông đang thay đổi nó .
Tôi có thể làm gì để làm cho ngủ đông sử dụng tên bảng chính xác?
Edit:
Tôi cũng đã thử
DefaultNamingStrategy
ImprovedNamingStrategy
Tất cả trong số họ thay đổi nó
phiên bản:
spring-boot-1.4.0.RELEASE
hibernate 5.1
javax-transaction-api 1.2
hibernate-validator 5.2.4
javassist 3.20
này chủ đề github rất hữu ích cho cả Hibernate 4 n 5. https://github.com/spring-projects/spring-boot/issues/2129 –