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.