Beanをバインドした時に接頭辞を付ける

ObjectAPI形式の場合、引数にBeanがいくつもあった場合、同じフィールド名がかぶってしまう可能性があるので、そんな時にどのBeanがどのパラメータにバインドさせるかちゃんと指定できるようします

Dao011.java
public interface Dao011 {
	@SqlUpdate("insert into table001 (id, name) values (:b1.id, :b2.name)")
	void insert(
		@BindBean("b1") Sample017.Bean bean1,
		@BindBean("b2") Sample017.Bean bean2
	);

	@SqlQuery("select name from table001 where id=:id")
	String findNameById(@Bind("id") int id);
}
Sample017.java
public static class Bean
{
	public Bean(int id, String name) {
		this.id = id;
		this.name = name;
	}

	private int id;
	private String name;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

public static void main(String[] args) {
	String url = "jdbc:postgresql://192.168.52.128/jdbi";
	DBI dbi = new DBI(url, "jdbi_user", "jdbi_pass");
	Dao011 dao = dbi.onDemand(Dao011.class);

	Bean bean1 = new Bean(1001, "name1");
	Bean bean2 = new Bean(1002, "name2");
	dao.insert(bean1, bean2);

	System.out.println("id=1001 => " + dao.findNameById(1001)); // name2
	System.out.println("id=1002 => " + dao.findNameById(1002)); // null
}

Dao011.insert のSQL文と引数に注目です