在過去的幾年中,我已經完成了我所有的數據庫開發,主要是使用ActiveRecord。現在我被困在一個項目中使用Java,並且它感覺所以冗長和hamfisted,我想知道如果我做錯了事情。在數據庫中選擇或創建數據庫,使用Java
在一個ORM範例,如果我要插入到相關的表,我會這麼像
# Joe Bob got a new car
p = Person.find_or_create_by_name("Joe Bob");
Car.new({:make=>"Toyota", :plate=>"ABC 123", :owner=>p});
在Java中,至少使用JDBC直接,我將不得不做的人手動查找,如果不存在則插入,然後創建Car條目。
當然,在現實生活中,它不僅僅是2張桌子,疼痛的規模也是指數級的。當然有更好的方法?
我知道SQL公平一點已經 - 我創建的視圖手工加入應用程序的表讀取它們,並有各種sprocs操縱數據出於其他原因 - 但我沒有聽說過'插入IGNORE'或'在重複鍵'呢。超級有用! – Coderer 2012-07-16 09:41:55
@Coderer'INSERT IGNORE'和'ON DUPLICATE KEY'是MySQL唯一記住的。 – Ariel 2012-07-16 16:52:48