English 中文(简体)
DAO Best practices : Querying Parent / Children
原标题:

Given you have a domain model with a simple parent / child relationship, and each entity has it s own associated DAO, eg:

Author
AuthorDAO
Book
BookDAO

If I want to add a DAO method for retrieving the books by a specific author, what s the best place for it?

class AuthorDAO
{
    List<Book> getBooks(Author author);
}

or

class BookDAO
{
    List<Book> getBooks(Author author)
}
最佳回答

I d place a Book finder on the BookDAO. This is where I would expect it to be, regardless of its parameters. If you want to find a book, you don t want to scan all DAOs to find where the right finder is. Putting it somewhere else won t help the users of the API.

问题回答

The BookDAO, because you want to get information about books. The Book is the main subject here.





相关问题
what is wrong with this mysql code

$db_user="root"; $db_host="localhost"; $db_password="root"; $db_name = "fayer"; $conn = mysqli_connect($db_host,$db_user,$db_password,$db_name) or die ("couldn t connect to server"); // perform query ...

Users asking for denormalized database

I am in the early stages of developing a database-driven system and the largest part of the system revolves around an inheritance type of relationship. There is a parent entity with about 10 columns ...

Easiest way to deal with sample data in Java web apps?

I m writing a Java web app in my free time to learn more about development. I m using the Stripes framework and eventually intend to use hibernate and MySQL For the moment, whilst creating the pages ...

join across databases with nhibernate

I am trying to join two tables that reside in two different databases. Every time, I try to join I get the following error: An association from the table xxx refers to an unmapped class. If the ...

How can I know if such value exists in database? (ADO.NET)

For example, I have a table, and there is a column named Tags . I want to know if value programming exists in this column. How can I do this in ADO.NET? I did this: OleDbCommand cmd = new ...

Convert date to string upon saving a doctrine record

I m trying to migrate one of my PHP projects to Doctrine. I ve never used it before so there are a few things I don t understand. In my current code, I have a class similar to this: class ...

热门标签