У меня есть следующий фрагмент кода ..
Я получаю сообщение об ошибке
Ожидаемый идентификатор, строка или номер
в строке ...
options.reference = '.' + $(this).attr('class');
], а затем позже в плагине ...
Объект не поддерживает это свойство или метод
в строке ...
if ($target.is(options.reference) || $target.closest(options.reference).length)
return false;
Это не вызывает проблем ни в одном браузере, кроме IE. Это тоже IE8, а не 6. s по-прежнему рекомендуется при использовании ORM, такого как JPA 2? Если я использую ORM, например JPA2 - где у меня есть объекты, сопоставленные с моей базой данных, должен ли я по-прежнему использовать DAO? Кажется, намного больше накладных расходов. Например, мне нужно поддерживать три ...
Если я использую ORM, например JPA2 - где у меня есть объекты, сопоставленные с моей базой данных, должен ли я по-прежнему использовать DAO? Кажется, это намного больше накладных расходов.
Например, мне нужно было бы поддерживать три дополнительных пакета:
Один, который определяет мои объекты домена (который в значительной степени отображает мои объекты Entity):
public class Employee { Если я использую ORM, например JPA2 - где у меня есть объекты, сопоставленные с моей базой данных, должен ли я по-прежнему использовать DAO? Кажется, это намного больше накладных расходов.
Например, мне нужно было бы поддерживать три дополнительных пакета:
Один, который определяет мои объекты домена (который в значительной степени отображает мои объекты Entity):
public class Employee { Если я использую ORM, например JPA2 - где у меня есть объекты, сопоставленные с моей базой данных, должен ли я по-прежнему использовать DAO? Кажется, это намного больше накладных расходов.
Например, мне нужно было бы поддерживать три дополнительных пакета:
Один, который определяет мои объекты домена (который в значительной степени отображает мои объекты Entity):
public class Employee {
частная строка firstName;
частная строка lastName;
...
// Геттеры и сеттеры
}
Один, содержащий интерфейсы, определяющие мои методы DAO
открытый интерфейс EmployeeDAO {
public void addEmployee (сотрудник-сотрудник);
общедоступный сотрудник getEmployeeById (длинный идентификатор);
...
}
Тот, который содержит компоненты сеанса, реализующие
общедоступный EmployeeJpaDAO моего DAO, реализует EmployeeDAO {
реализации метода интерфейса здесь
....
частный метод, который преобразует мою сущность Employee в мой объект домена Employee
}
Теперь это много лишнего багажа, который нужно добавлять каждый раз, когда мне нужно выполнить новую операцию CRUD.
Однако преимущества, которые я вижу от наличия DAO, заключаются в следующем:
Вы можете иметь реализацию DAO в памяти для модульного тестирования вашего уровня обслуживания. Это означает, что вам не нужен доступ к базе данных для тестирования бизнес-логики, и вы можете быть уверены, что ваши объекты всегда будут содержать одни и те же значения для свойств
. Он отделяет бизнес-логику от логики доступа к базе данных
Параметр, который не содержит Реализация DAO не связана с использованием просто объектов сущностей и EntityManager на уровне служб:
@Stateless
public class EmployeeEjb {
@PersistenceContext(unitName = "employee")
private EntityManager manager;
public Employee getEmployeeById(long id) {
return manager.createNamedQuery(Employee.GetEmployeeById).getResultList();
}
...
}
Нет ли здесь промежуточной позиции? Кто-нибудь сталкивался с архитектурой или реализовал архитектуру, которая соответствует некоторым преимуществам уровня DAO (наиболее важно возможность модульного тестирования бизнес-логики), о которых я упоминал выше, но не требует дополнительных затрат на реализацию уровня DAO?
Спасибо за любые рекомендации и / или предложения! Мне действительно любопытно посмотреть, что некоторые люди придумали по этому поводу.