読者です 読者をやめる 読者になる 読者になる

複合主キーは非対応?

s2dao
public interface LinkTableDao {
	int insert(LinkTable linkTable);
	int update(LinkTable linkTable);
	int delete(LinkTable linkTable);
}

public class LinkTable {
	private Integer id1;
	private Integer id2;
	private String value;
	
	@Id
	public void setId1(Integer id1) {
		this.id1 = id1;
	}
	@Id
	public void setId2(Integer id2) {
		this.id1 = id1;
	}
	public void setValue(String value) {
		this.value = value;
	}
	//getterは省略
}

こんなノリのDaoとEntityがあってですね。updateを実行すると

UPDATE link_table SET id2 = ? AND value = ? WHERE id1 = ?

といった感じのSQLが発行されて一意制約違反で更新できないんですよね・・・(´・ω・)

つまり、挿入はOKだけど、更新、削除が自動ではできないっていう。
外だしSQL書いてあげれば解決するんだけれども・・・外だしで書かずにうまくやる方法はあるんだろうか・・・?