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

tạo lớp enum từ bảng với JOOQ

Chắc chắn, bạn có thể triển khai lại tính năng đã xóa bên mình trong một vài bước:

1. Triển khai trình tạo cho enum đó

Bạn cần ghi đè JavaGenerator để triển khai việc tạo mã để dịch dữ liệu chính của bạn (có thể là một số bảng) sang enums. Cách hoạt động hoàn toàn phụ thuộc vào bạn, ví dụ:bạn có thể có:

  • Bảng dữ liệu chính của một cột duy nhất
  • ID / VALUE bảng ánh xạ
  • ID / VALUE / Bảng ánh xạ nhận xét
  • Các bố cục khác

2. Tạo ForcedType cấu hình cho các enums đó

Bất cứ khi nào một bảng dữ liệu chính như vậy được tham chiếu, bạn nên nối lại cột khóa ngoại vào enum đó bằng cách sử dụng <forcedType/> cấu hình. Điều này được thực hiện tốt nhất bằng cách định cấu hình tạo mã của bạn theo chương trình , vì điều đó sẽ cho phép bạn kiểm soát năng động hơn đối với cấu hình tạo mã jOOQ của mình.

Bước này được ghi lại chi tiết hơn trong câu trả lời của Bill O'Neil .

3. Ngăn chặn việc tạo bảng dữ liệu chính

Ngoài những điều trên, bạn có thể nên xóa chính các bảng dữ liệu chính khỏi đầu ra đã tạo của mình. Trong trường hợp của bạn, điều này sẽ dẫn đến cấu hình:

<excludes>YNM</excludes>

Hoặc, nếu bạn có nhiều bảng dữ liệu chính:

<excludes>YNM|OTHER_MASTER_DATA_TABLE|...</excludes>

Việc loại trừ các bảng này sẽ ngăn việc truy cập chúng từ mã ứng dụng khách jOOQ, cũng như xóa thông tin khóa ngoại trong mã đã tạo, điều này có thể gây nhầm lẫn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn vào cơ sở dữ liệu (mysql) bằng Ajax và PHP

  2. Laravel SQLSTATE [22007]:Định dạng ngày giờ không hợp lệ:1292 Giá trị ngày giờ không chính xác:'2019-03-10 02:00:39' cho cột 'updated_at' (tiết kiệm ánh sáng ban ngày?)

  3. Cách đổi tên cơ sở dữ liệu trong MySQL

  4. Cách tạo và thao tác cơ sở dữ liệu SQL với Python

  5. jetty-env.xml với DataSource dẫn đến lỗi WebAppContext trên mvn jetty:run