Comments 14
Плюс вам.
Но вот ответьте… почему в 2011 году, в век, когда космические корабли бороздят просторы большого театра, вы пользуетесь этими вырвиглазными xml мапингами? Ведь на аннотациях все гораздо нагляднее и удобне…
Но вот ответьте… почему в 2011 году, в век, когда космические корабли бороздят просторы большого театра, вы пользуетесь этими вырвиглазными xml мапингами? Ведь на аннотациях все гораздо нагляднее и удобне…
Не всвязи с данным примером — мне xml маппинг нравится больше.
Во-первых, все в одном месте, я могу одним взглядом окинуть десяток классов в одном дексрипторе. Чтобы сделать то же самое с десятком классов, мне нужно их открыть и пролистать.
Во-вторых, всякие типа "@Transactional(readOnly = true, propagation = Propagation.REQUIRED)", мне кажется, они там лишие: легче объявить все методы get* и find* readOnly и не заморачиваться с аннотациями, а конценртироваться на коде.
IMHO
Во-первых, все в одном месте, я могу одним взглядом окинуть десяток классов в одном дексрипторе. Чтобы сделать то же самое с десятком классов, мне нужно их открыть и пролистать.
Во-вторых, всякие типа "@Transactional(readOnly = true, propagation = Propagation.REQUIRED)", мне кажется, они там лишие: легче объявить все методы get* и find* readOnly и не заморачиваться с аннотациями, а конценртироваться на коде.
IMHO
Ну это смотря с какой стороны смотреть.
Окидывать одним взглядом 10 классов мне ни разу в жизни не приходилось.
Зато открыв 1 класс я сразу вижу как он мапится в базу.
И меняя что-то в классах мне не надо скакать по разным файлам переключаясь с кода на xml и обратно…
Хотя это конечно вопрос привычки.
Окидывать одним взглядом 10 классов мне ни разу в жизни не приходилось.
Зато открыв 1 класс я сразу вижу как он мапится в базу.
И меняя что-то в классах мне не надо скакать по разным файлам переключаясь с кода на xml и обратно…
Хотя это конечно вопрос привычки.
Мне кажется, что тут дело не только в привычке.
Я рассуждаю так — как часто меняется структура базы данных? По моему опыту — значительно реже, чем код. Так зачем мне постоянно смотрет в коде на мапинг класса к базе?
Или — я итак знаю, что у меня все методы get* PROPAGATION_REQUIRED и readOnly, зачем мне это все в коде?
Я рассуждаю так — как часто меняется структура базы данных? По моему опыту — значительно реже, чем код. Так зачем мне постоянно смотрет в коде на мапинг класса к базе?
Или — я итак знаю, что у меня все методы get* PROPAGATION_REQUIRED и readOnly, зачем мне это все в коде?
на счет "@Transactional(readOnly = true, propagation = Propagation.REQUIRED)" лишне, но хотелось все-таки показать, что есть такая возможность, сложность примера очень низкая, вот и нету где развернуться
извините, но я наверно не так хорошо прокачан в spring, так как я не вижу здесь xml маппинга, я здесь вижу аннотации типа @Repository,@Transactional(readOnly = true), @Entity, @Table
И очень интересно узнать про Spring Security. Пишите обязательно.
Посмотрел на ZK. ПОлучается проект пишется наполовину кодом, наполовину xml?
Т.е. формы описыватся xml разметкой?
Т.е. формы описыватся xml разметкой?
можно исключительно кодом, нет проблем, вот пример
Div div = new Div();
Label label = new Label("какое-то название");
Button button = new Button("какая-то кнопка");
Grid grid = new Grid();
div.setWidth("100%");
div.setHeight("100%");
label.setWidth("50px");
button.setWidth("120px");
div.appendChild(label);
div.appendChild(button);
div.appendChild(grid);
Window wnd = new Window();
wnd.appendChild(div);
Меня почему-то очень удивило название классов IPerson, Person и PersonImpl. Как-то интуитивно ожидаешь, что они находятся в одной иерархии и представляют собой одну сущность. А тут PersonImpl это DAO объект для Person.
А Vaadin и ZK не сравнивали?
Sign up to leave a comment.
ZK+Spring 3+Hibernate: две головы хорошо, а три лучше, быстрее, сильнее