Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > JPA update через функцию


Автор: azz 24.8.2009, 11:25
Мы строим сейчас JPA уровень над старой базой. Вопрос: у нас все изменения данных(insert, update, del.) идут через специальные процедуры-
можно ли (и если да то как) запритиь прямое изменение данных и перенаправить их на Command Objects. Мои знания в этой области крайне ограничены, поэтому буду очень признателен за пример кода в ответе. 

Если вам извесня хорошие доки/книги/туториалы по JPA (EclipseLink) на русском/английском/неметском-давайте сюда линки.

а, и еше : что лучше как JPA движок: Hibernate или EclipseLink?

Автор: MisterCleric 25.8.2009, 10:45
Привет. Не понимаю зачем тебе какие-то комманд-объекты.
Ты же можешь на CRUD-операции повесить свои хранимки:
Код

@SQLInsert(callable = true, sql =
@SQLUpdate(
@SQLDelete
@Entity
@Table(name = )
public class SomeEntity implements Serializable {
}


Будет вызнано типа прямое изменение сущности, но оно отделегируется в вызов хранимой процедуры
т.е. логика твоего приложения не меняется:
Код

persistenceManager.merge(someObject);

Остается таким же, если бы был и простой UPDATE.

Автор: azz 25.8.2009, 12:03
Уже тепло. Спасибо большое. 
Осталось одно неудобство: У нас штук 50 разных обектов но их сохранение обслуживается 8ю довольно сложными в конфигурации уневерсальными процедурами. Я надеялся их вызов закапсулировать в обекты, чтоб не выписывать здоровенные вызовы по 100 раз. Это реально?
Я думал обявить JPA entity как readOnly-вродебы есть такая вазможность, и по необходимости передовать в эти CommandObjects. Хотя это наверно саботирует саму идею JPA.

и как нащет моего вопроса что брать: Hibernate или EclipseLink?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)