複合主キーは非対応?
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書いてあげれば解決するんだけれども・・・外だしで書かずにうまくやる方法はあるんだろうか・・・?