rubbish-db 1.7.4

http://sourceforge.net/project/showfiles.php?group_id=174258
ActiveRecordの親レコード/子レコード取得メソッドをtoParentName()/childNameList()に変更。
あと、結合したテーブルをもう少し簡単に取得できるように。

親レコード取得

Book book = Book.find(Book.PUBLISHER.eq("01").and(Book.ID.eq("001")));
Publisher publisher = book.toPublisher();
System.out.println(publisher);


'SELECT BOOK.AUTHOR, BOOK.CREATE_DATE, BOOK.ID, BOOK.ISSUE_DATE, BOOK.PUBLISHER, BOOK.TITLE, BOOK.UPDATE_DATE FROM BOOK WHERE ( BOOK.PUBLISHER = ? ) AND ( BOOK.ID = ? ) [01, 001]'
'SELECT PUBLISHER.CREATE_DATE, PUBLISHER.ID, PUBLISHER.NAME, PUBLISHER.UPDATE_DATE, PUBLISHER.VOLUMES FROM PUBLISHER WHERE (ID = ?) [01]'
Publisher@{create_date=1999-07-10 17:10:00.000, id=01, name=Eigakukan, update_date=2005-07-10 17:10:00.000, volumes=4}

子レコード取得

Book[] books = Publisher.findByPK("01").bookList();
System.out.println(new TabularFormat(books));


'SELECT PUBLISHER.CREATE_DATE, PUBLISHER.ID, PUBLISHER.NAME, PUBLISHER.UPDATE_DATE, PUBLISHER.VOLUMES FROM PUBLISHER WHERE ID = ? [01]'
'SELECT BOOK.AUTHOR, BOOK.CREATE_DATE, BOOK.ID, BOOK.ISSUE_DATE, BOOK.PUBLISHER, BOOK.TITLE, BOOK.UPDATE_DATE FROM BOOK WHERE (PUBLISHER = ?) [01]'

                                                                                                                                                                                                                                                            • +

|author |create_date |id |issue_date|publisher|title |update_date |

                                                                                                                                                                                                                                                            • +

|Michael Willhoite|1999-06-10 17:10:00.000|000| |01 |Daddy's Roommate |2005-06-10 17:10:00.000|
|Maya Angelou |1999-06-10 17:10:00.000|001| |01 |I Know Why the Caged Bird Sings |2005-06-10 17:10:00.000|
|Robert Cormier |1999-06-10 17:10:00.000|002| |01 |The Chocolate War |2005-06-10 17:10:00.000|
|Mark Twain |1999-06-10 17:10:00.000|003| |01 |The Adventures of Huckleberry Finn|2005-06-10 17:10:00.000|

                                                                                                                                                                                                                                                            • +

結合して取得

Book[] books = Book.findAny(Publisher.NAME.like("%Nippon%"));
System.out.println(new TabularFormat(books));


'SELECT BOOK.AUTHOR, BOOK.CREATE_DATE, BOOK.ID, BOOK.ISSUE_DATE, BOOK.PUBLISHER, BOOK.TITLE, BOOK.UPDATE_DATE FROM BOOK , PUBLISHER WHERE (PUBLISHER.ID = BOOK.PUBLISHER) AND ( PUBLISHER.NAME LIKE ? ESCAPE '\' ) [%Nippon%]'

                                                                                                                                                                                                                                                • +

|author |create_date |id |issue_date|publisher|title |update_date |

                                                                                                                                                                                                                                                • +

|Harry Allard |1999-06-10 17:10:00.000|000| |05 |The Stupids (Series) |2005-06-10 17:10:00.000|
|Roald Dahl |1999-06-10 17:10:00.000|001| |05 |The Witches |2005-06-10 17:10:00.000|
|Charles Silverstein|1999-06-10 17:10:00.000|002| |05 |The New Joy of Gay Sex |2005-06-10 17:10:00.000|
|Lois Lowry |1999-06-10 17:10:00.000|003| |05 |Anastasia Krupnik (Series)|2005-06-10 17:10:00.000|
|Brock Cole |1999-06-10 17:10:00.000|004| |05 |The Goats |2005-06-10 17:10:00.000|

                                                                                                                                                                                                                                                • +