當數據庫表內存在聯合主鍵時,mybatis generator會默認生成兩個實體類,一個只包含主鍵的實體類和一個包含其余字段的實體類,如果表里有BLOB字段,還會為所有BLOB字段生成單獨的實體類,可以通過修改默認的defaultModelType屬性更改生成方式,該屬性支持三種生成方式:
1.conditional,默認是這種方式,當一張表只有一個主鍵時,不會為主鍵生成單獨的實體類,超過一個則會生成單獨的主鍵實體類,BLOB字段仍單獨生成實體類。
2.hierarchical,只要表里有主鍵,就會生成單獨的主鍵實體類,其余同上
3.flat,只為一張表生成一個實體類,包含所有字段
所以,當你不需要單獨的主鍵實體類時,可以將defaultModelType更改為flat方式,
例如,
<context id="DB2Tables" targetRuntime="MyBatis3" defaultModelType="flat">
</context>
image.png