以下のようなテーブル構造があります。

CREATE TABLE `products` (
`uid` int(11) NOT NULL,
`item_code` varchar(255) NOT NULL,
`stock` int(11) NOT NULL,
`modified` datetime NOT NULL,
`created` datetime NOT NULL,
UNIQUE KEY `unique_keys` (`uid`,`item_code`)
)

uid:5, item_code:b-testのレコードがある状態で

$test = array(
    (int) 0 => array(
        'item_code' => 'b-test',
        'uid' => '5'
    ),
    (int) 1 => array(
        'item_code' => 'w-test',
        'uid' => '5'
    )
);

$this->Product->saveAll($test);

このテーブルに対して上記のようなコードを実行すると

Integrity constraint violation: 1062 Duplicate entry '5-b-test' for    key 'unique_keys'

と怒られてupdateになりません。
cakephpでは複合ユニークキーの保存と更新は出来ないのでしょうか。