1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.submitted.constructor_columnprefix;
17
18 import java.util.List;
19
20 import org.apache.ibatis.annotations.Arg;
21 import org.apache.ibatis.annotations.ConstructorArgs;
22 import org.apache.ibatis.annotations.Select;
23
24 public interface Mapper {
25
26 List<Article> getArticles();
27
28
29 @ConstructorArgs({
30 @Arg(id = true, resultMap = "keyRM", columnPrefix = "key_", javaType = EntityKey.class),
31 @Arg(column = "name", javaType = String.class),
32 @Arg(resultMap = "authorRM", columnPrefix = "author_", javaType = Author.class),
33 @Arg(resultMap = "authorRM", columnPrefix = "coauthor_", javaType = Author.class),
34 })
35 @Select({
36 "select id key_id, name, author.id author_id, author.name author_name,",
37 " coauthor.id coauthor_id, coauthor.name coauthor_name",
38 "from articles",
39 "left join authors author on author.id = articles.author_id",
40 "left join authors coauthor on coauthor.id = articles.coauthor_id",
41 "order by articles.id"
42 })
43
44 List<Article> getArticlesAnno();
45
46 }