соглашения об именах в Hibernate - PullRequest
1 голос
/ 22 июля 2010

Может ли кто-нибудь сказать мне, каково соглашение об именах, которое разработчики Hibernate не могут дать именам для DAO calass, класса Sesgleton, которые создают Single SessionFactory и повторяют сеанс через статический метод, файлы отображения гибернации и т. Д.

Ответы [ 2 ]

1 голос
/ 22 июля 2010

Это очень субъективно, но вот что я использую:

имена для класса DAO

Для объекта Order я использую OrderDao для интерфейса и HibernateOrderDao для реализации Hibernate (реализация на основе JPA будет JpaOrderDao и т. Д.).

класс, который создает Single SessionFactory и возвращает сеанс через статический метод

Я использую традиционный HibernateUtil (и вы найдете много ссылок в документации по Hibernate, литературе и т. Д.). Вот пример . В примере приложения Caveat Emptor есть более сложная версия .

  • файлы отображения в спящем режиме

Класс с именем foo.bar.Foo будет отображаться в файле foo/bar/Foo.hbm.xml. Во-первых, это облегчает организацию сопоставлений, поиск и упрощение обслуживания. Во-вторых, это позволяет использовать строго типизированный метод Configuration#addClass(Class) (который устойчив к рефакторингу).

0 голосов
/ 22 июля 2010

Я могу ответить только из своего довольно ограниченного опыта и перспективы, но я доволен и привык к тому, как мы это делаем.В общем, мы используем абстрактный класс с именем DatabaseHelper, который имеет много статических методов.Примеры:

DatabaseHelper.getSession() возвращает Session.Два метода DatabaseHelper.commitTransaction() и DatabaseHelper.beginTransaction() обрабатывают транзакции.

Бины не имеют соглашения об именах, но все расширяются

public abstract class HibernateBean<T> implements Serializable

Как это

@Entity
@Table(name = "table_name")
public class TableEntry extends HibernateBean<TableEntry> {

HibernateBean содержит некоторые методы, такие как getId(), для извлечения Hibernateсгенерированный идентификатор.

...