2009-06-02 5 views
3

데이터베이스 테이블을 Java 객체에 매핑 중입니다. 일반적으로 나는 책 정보를 담고있는 테이블을 책이라고 부른다. 그러나 Java 객체는 하나의 책을 나타내며 Book이라고해야합니다. 마찬가지로 저자/저자 등의 경우O/R 매핑을 할 때 명명 규칙을 사용합니다.

한편 도메인 객체와 테이블에 동일한 것을주는 것은 단순합니다.

사람들이 따르는 명명 규칙이 있습니까? 이것은 O/R 매핑을 수행하는 동안뿐만 아니라 일반적으로 응용 프로그램에 적용되는 것 같습니다.

답변

8

귀하의 초기 생각은 확실합니다.

개체는 개별 개체 여야하므로 단수 여야합니다.

테이블은 테이블에 모두 포함되어 있으므로 복수 여야합니다.

Ruby on Rails에 내장 된 명명 규칙을 확인하십시오.

+0

본인과 매우 유사한 응답을 입력했습니다. 웹 세상에서 Ruby on Rails는 ORM을 처리하는 표준의 일종이므로 답변을 찾으려는 것이 좋습니다. +1 :-) –

+0

각 행은 엔티티의 단일 인스턴스를 나타내므로 테이블 이름은 단수이어야한다고 주장 할 수 있습니다. – GreenieMeanie

+0

@GreenieMeanie - 복수형으로 테이블 이름을 지정하기 위해 내 SQL이 자연스럽게 읽히기를 원합니다. 나에게 "Select * from Persons where ..."는 "Select * from Person where ..."보다 더 자연스럽게 읽습니다. YMMV. – Bevan

1

내 ASP.NET 응용 프로그램에서 SubSonic을 사용하고 ActiveRecord 클래스의 이름을 지정할 때 복수형을 제거해야합니다. 그것은 표준보다 스타일의 문제입니다. 나는 보통한 번에 한 기록을 다루는이기 때문에

나는 Invoice보다는 Invoices 작업을 선호합니다.

0

나는 보통 동일한 표준을 모든 곳에서 사용해야하며, 또한 내 이름에 논리 이름을 사용한다는 것을 확인한다.

그래서 책은 DbBooks 같은 것을, 저자 등 DbAuthors

5

우리는 테이블 이름과 OM 클래스의 단일 사용을하게된다. 내가 SQL 또는 Java를 쓰고 있어요 여부를

person.last_name

, people.last_name

보다 말을 나에게 더 의미가 있습니다 (물론, 그것은 person.lastName이 될 것이지만, 당신은 요점을 얻는다.)

+1

단수 이름의 테이블에 대한 이점은 's'또는 'es', -f + 'ves'(자동차/자동차, 버스/버스, 늑대/늑대) 및 불규칙한 호스트를 다룰 필요가 없다는 것입니다 (어린이/어린이, 거위/거위, 무스/무스). Rails는 프로젝트마다 설정할 수있는 특별한 규칙 시스템을 가지고 있지만 불필요한 번거 로움이 있습니다. – Chadwick

0

CJ Date은 복수 이름을 사용하지 않으며 어느 것도 사용하지 않습니다. 유일한 예외는 단어 "영업"입니다. 그것 이외에는 단수 이름을 사용하십시오.

user.email 비교 =? 및

users.email으로 (1,2,3)

에 account.value =? 계정.(1,2,3)

또는 (최악 옵션)

users.email에서 값 =? account.values ​​in (1,2,3)

0

jOOQ는 데이터베이스 스키마에서 Java 클래스를 생성합니다. 테이블을 모델링하는 클래스는 테이블 자체와 동일하게 호출됩니다. 객체 (또는 기록) 모델링

  • AUTHOR>Author
  • BOOKS>Books

클래스는 "Record"접미사한다 :

  • AUTHOR>AuthorRecord
  • BOOKS>BooksRecord

테이블이 호출 되든 관계없이 매우 직관적이며 일반적입니다.

http://www.jooq.org

관련 문제