一對(duì)多的關(guān)系可以用@many與@one的使用方法來表示。我們?nèi)匀皇褂弥暗腢ser(用戶)和Hobby(興趣)之間的一對(duì)多關(guān)系作為例子,來學(xué)習(xí)@many的使用方法。同樣,先回顧下之前用Mapper XML配置的一對(duì)多關(guān)系模型:
User類中有一個(gè)hobbyList,用于存放一個(gè)用戶的所有興趣愛好的對(duì)象。具體代碼如下:
Hobby數(shù)據(jù)庫表中存放一個(gè)userId的字段,用于標(biāo)識(shí)是哪個(gè)用戶的愛好。接下來我們添加一個(gè)IhobbyDao的Mapper接口,定義一個(gè)根據(jù)UserId查詢出所有興趣愛好的接口,并適用注解標(biāo)記對(duì)應(yīng)的查詢SQL。代碼如下:
接下來我修改User的Mapper接口IuserDao類:
這里我們使用了@Many注解的select屬性來指向一個(gè)完全限定名方法,該方法將返回一個(gè)List對(duì)象。使用column=”userId”,user數(shù)據(jù)表中的userId列值將會(huì)作為輸入?yún)?shù)傳遞給findHobbyListByUserId()方法。