Kapsh
Kapsh

Reputation: 22101

naming conventions when doing O/R mapping

I am mapping my database tables to my java objects. Generally I name my tables in the plural form in that a table holding books information is called BOOKS. The java object represents however one book and should be called Book. Similarly for AUTHORS/Author etc.

On the other hand, its kind of simplistic to give the same to the domain object and the table.

Is there some kind of naming convention that people follow? I guess this applies to applications in general and not just while doing O/R mapping.

Upvotes: 3

Views: 2493

Answers (6)

Lukas Eder
Lukas Eder

Reputation: 220987

jOOQ generates Java classes from your database schema. The classes modelling the tables will be called the same as the table itself, e.g.

  • AUTHOR > Author
  • BOOKS > Books

The classes modelling the objects (or records) will be suffixed with "Record":

  • AUTHOR > AuthorRecord
  • BOOKS > BooksRecord

That's pretty intuitive and generic, no matter what your tables are called. See

http://www.jooq.org

Upvotes: 0

sal
sal

Reputation: 23623

CJ Date does not use Plural names and neither should you. The only exception is the word "SALES". Other than that, use singular names.

compare

user.email = ? and account.value in (1,2,3)

to

users.email = ? and accounts.value in (1,2,3)

or (the worst option)

users.email = ? and account.values in (1,2,3)

Upvotes: 0

Carl Manaster
Carl Manaster

Reputation: 40346

We use singular for table names and for OM classes. It makes more sense, to me, to say

person.last_name

than

people.last_name,

whether I'm writing SQL or Java (where, of course, it would be person.lastName, but you get the point).

Upvotes: 5

Silfverstrom
Silfverstrom

Reputation: 29322

I usually just make sure i use the same standard everywhere, and also that i use logical names for my namings.

So Books become something like DbBooks, Authors becomes DbAuthors etc.

Upvotes: 0

Robert S.
Robert S.

Reputation: 25294

I use SubSonic in my ASP.NET application, and I have it strip the plurals when naming the ActiveRecord classes. It's more a matter of style than a standard.

I prefer working with Invoice rather than Invoices because I'm usually dealing with 1 record at a time.

Upvotes: 1

Bevan
Bevan

Reputation: 44307

Your initial thoughts are spot on.

Objects should be singular, as each object is individual.

Tables should be plural, as the table contains all.

Check out the naming conventions built into Ruby on Rails, they're relevant.

Upvotes: 8

Related Questions