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 @ConstructorArgs({
29 @Arg(id = true, resultMap = "keyRM", columnPrefix = "key_", javaType = EntityKey.class),
30 @Arg(column = "name", javaType = String.class),
31 @Arg(resultMap = "authorRM", columnPrefix = "author_", javaType = Author.class),
32 @Arg(resultMap = "authorRM", columnPrefix = "coauthor_", javaType = Author.class),
33 })
34 @Select({
35 "select id key_id, name, author.id author_id, author.name author_name,",
36 " coauthor.id coauthor_id, coauthor.name coauthor_name",
37 "from articles",
38 "left join authors author on author.id = articles.author_id",
39 "left join authors coauthor on coauthor.id = articles.coauthor_id",
40 "order by articles.id"
41 })
42 List<Article> getArticlesAnno();
43
44 }