條件API給人的一個(gè)印象就是對(duì)屬性的使用很隨意,編譯能通過(guò)闻鉴,但是只能在運(yùn)行時(shí)發(fā)現(xiàn)是否有錯(cuò)迈窟。
通過(guò)元模型盗胀,我們能夠?qū)︻?lèi)型進(jìn)行檢查,當(dāng)然沸手,這樣導(dǎo)致了冗長(zhǎng)的表達(dá)式結(jié)構(gòu)外遇。
通過(guò)EntityManger接口的getMetamodel()方法訪問(wèn)類(lèi)的元模型
Metamodel mm = em.getMetamodel();
EntityType<Employee> emp_ = mm.entity(Employee.class);
這樣我們就獲得了Employee類(lèi)的所有屬性
這些屬性可以傳遞給條件API的方法使用,從而實(shí)現(xiàn)類(lèi)型檢查