Я попробовал это и его работу в Windows-машине для запуска sql-файла на определенной схеме.
psql -h localhost -p 5432 -U имя пользователя -d имя_базы_на_схема = schemaname & lt; e: \ Table.sql
blockquote>
Я использовал Hibernate несколько раз в прошлом. Каждый раз, когда я сталкивался с крайними случаями, когда определение синтаксиса переходило к поиску мусора через документацию, Google и старые версии. Это мощный инструмент, но плохо документированный (последний раз я смотрел).
Что касается Spring, то почти каждая работа, с которой я брал интервью или рассматривал ее в последние несколько лет, касалась Spring, она действительно стала стандартом де-факто для Java / Web. Его использование поможет вашим разработчикам стать более конкурентоспособными в будущем, и это поможет вам, поскольку у вас будет большой круг людей, которые будут понимать ваше приложение.
Написание собственных рамок заманчиво, познавательно и весело. Не очень хорошо по результатам.
Рамки не злые. даже Java SDK - это фреймворк.
То, с чем они, вероятно, борются, - распространение структуры . Вы не должны приносить структуру в проект просто ради удовольствия, она должна приносить постоянную ценность в разумные сроки. Каждая структура требует кривой обучения, но должна наградить вас повышенной производительностью и возможностями в дальнейшем.
Если вы боретесь с кодом, который трудно отладить из-за непоследовательного использования базы данных, сложных механизмов кэширования или множества других причин. Hibernate добавит большую ценность. кроме кривой обучения (которая заняла у меня около 1 месяца практической работы) не было никаких подводных камней, при условии, что у вас есть кто-то, кто объяснит вам основы.
@slim - я снова с тобой сегодня утром.
Звучит как классический случай синдрома «Не изобретено здесь» . Если они не заинтересованы в весне, им следует рассмотреть другие варианты, а не переходить на собственные рамки (независимо от того, признают они это или нет). Guice приходит на ум как возможность. Также пикоконтейнер. Есть и другие, в зависимости от того, что вам нужно.
Я должен согласиться со многими сообщениями на этом. Я использовал обоих, экстенсивно, во множестве настроек. Если бы я мог бы отменить проектное решение, оно должно было бы использовать, в спящем режиме. Мы на самом деле планировали выпуск в одном из наших продуктов для свопинга, в спящем режиме для iBatis и Spring-JDBC для подхода best-of-all-worlds. Я могу сделать, чтобы новый разработчик вошел в курс дела с помощью Spring-JDBC, Spring-MVC, МОК Spring и iBatis быстрее, чем если бы я просто определил задачу для них с, в спящем режиме.
В спящем режиме, является просто слишком сложным для этого разработчика KISS. И небеса помогают, Вы с в спящем режиме, если Ваш DBA видит сгенерированный SQL, база данных видит и передает Вас обратно с оптимизированными версиями.
Spring и В спящем режиме, определенно делают жизнь легче. Начало работы с ними могло бы быть немного трудоемким вначале, но Вы, конечно, извлечете выгоду из него позже. Теперь XML заменяется аннотациями, Вы не должны вводить сотни строк XML также.
можно хотеть полагать AppFuse уменьшать кривую обучения: генерируйте приложение, учитесь и адаптируйтесь, оно, и от Вас идет.
По моему мнению, самое большое преимущество Spring заключается в том, что он поощряет и обеспечивает лучшие методы разработки, в частности слабую связь, тестирование и большее количество интерфейсов. Спящий режим без весны может быть очень болезненным, но оба вместе очень полезны.
Модернизация существующего проекта к любой структуре будет болезненной, но процесс рефакторинга часто имеет серьезные преимущества для долгосрочной ремонтопригодности.
Что касается Будьте в спящем режиме: очень хороший инструмент для приложения, которое имеет дело с быстро изменяющейся схемой базы данных, большой суммой таблиц, делает много простых операций CRUD. Отчеты с включенными сложными запросами скорее менее хорошо обрабатываются. Но в них случаются, я предпочитаю смешиваться в JDBC или собственных запросах. Так, для короткого ответа: Я действительно думаю, что потраченное изучение времени В спящем режиме, хорошие инвестиции (они говорят, что это совместимо с EJB3.0 и стандартами JPA, также, но это не входило в уравнение, когда я оценил его для своего персонального использования).
Что касается Spring... см. Блог Желчи:)
Помните: платформы не серебряные пули , но Вы не должны перестраивать колесо также.
Spring и В спящем режиме, платформы, которые хитры ведущему устройству. Это не может быть хорошая идея использовать их в проектах с жесткими сроками, в то время как Вы все еще пытаетесь выяснить платформы.
преимущества платформ должен в основном попытаться обеспечить платформу, чтобы позволить, чтобы последовательные коды были продуктами. На основе опыта Вам было бы целесообразно испытать разработчиков с платформами, устанавливающими на месте лучшие практики.
В зависимости от дизайна Вашего приложения и/или базы данных, существуют также причуды, которые необходимо будет обойти, чтобы гарантировать, чтобы платформы не препятствовали производительности.
Я всегда находил Hibernate немного сложным и трудным для изучения. Но так как JPA (Java Persistence API) и EJB (Enterprise Java Beans) 3.0 уже некоторое время стали намного проще, я предпочитаю комментировать свои классы для создания отображений с помощью JavaDoc или XML. Проверьте поддержку в Hibernate . Дополнительным бонусом является то, что можно (но не без усилий) изменить структуру базы данных позже, если это необходимо. Я использовал OpenJPA с отличными результатами.
В последнее время я все больше и больше использую JCR (Java Content Repository). Мне нравится, как мои модули могут совместно использовать одно хранилище данных и что я могу позволить структуре и свойствам развиваться. Мне гораздо проще работать с узлами и свойствами, чем сопоставлять мои объекты с базой данных. Хорошей реализацией является Jackrabbit .
Что касается Spring, он имеет много функций, которые мне нравятся, но количество XML, необходимое для настройки, означает, что я никогда не буду его использовать. Вместо этого я использую Guice и очень люблю его.
В заключение я бы показал вашим сомневающимся разработчикам, как Hibernate облегчит их жизнь. Что касается Spring, я бы серьезно проверил, является ли Guice жизнеспособной альтернативой, а затем попытался бы показать, как Spring / Guice делает разработку лучше и проще.
Я нахожу, что это действительно помогает использовать известные платформы те, которые В спящем режиме, потому что это вмещает Ваш код в определенную форму или образ мыслей. Значение, так как Вы используете, в спящем режиме, Вы пишете коду определенный путь и большинство, если не все разработчики, которые знают, Будут в спящем режиме, то будет в состоянии следовать за Вашим ходом мыслей довольно легко.
существует оборотная сторона к этому, конечно. Прежде чем Вы станете горячим выстрелом, в спящем режиме разработчик, Вы собираетесь найти, что Вы пытаетесь вместить квадрат в круговую дыру. Вы ЗНАЕТЕ то, что Вы хотите сделать, и как Вы, как предполагалось, сделали это, прежде чем Будут в спящем режиме, вошел в изображение, но нахождение Быть в спящем режиме способа сделать его может занять... довольно мало времени.
однако, для компаний, которые часто нанимают консультантов (кто должен понять много исходного кода в короткий срок) или где разработчики входят в систему и часто выходят, или где Вы просто не хотите держать пари, что Ваши ключевые разработчики останутся навсегда и никогда не сменять работу - В спящем режиме, и другие стандартные платформы являются довольно хорошей идеей, я думаю.
Туз /
Это - одна вещь (я мог помнить), что я упал в то, когда я был в моем Быть в спящем режиме дни. То, когда Вы удалите (несколько) дочерние объекты из набора (в родительском объекте) и затем добавляете новые объекты к тому же набору в одной транзакции, не сбрасывая в середине, В спящем режиме, сделает, "вставляют", прежде "удаляют". Если бы дочерняя таблица имеет ограничение на уникальность данных в одном из его столбцов, и Вы ожидаете, что не нарушили бы его, так как Вы уже удалили некоторые данные прежде (точно так же, как я был), то подготовьтесь быть расстроенными. Будьте в спящем режиме форум предлагает:
я не мог сделать обоих и закончить тем, что настроил Быть в спящем режиме источник и перекомпилировал. Это была только 1 строка кода. Но усилие найти, что одна строка была равна приблизительно 27 чашкам кофе и 3 бессонных ночи.
Это - всего один пример проблем и причуд, Вы могли бы закончить, когда использование В спящем режиме без настоящего эксперта по Вашей команде (эксперт: кто-то с соответствующим знанием о философии и внутренней работе В спящем режиме). Ваша проблема, решение, литр кофе и бессонное ночное количество могут варьироваться. Но Вы получаете идею.
Они осудили рамки ?
Это безумие. Если вы не используете готовый фреймворк, вы создаете свой собственный. Это все еще рамки.
Будьте в спящем режиме имеет причуды, чтобы быть уверенным, но это вызвано тем, что проблема, которую это пытается решить, сложна. Каждый раз кто-то жалуется на, в спящем режиме, я напоминаю им обо всем скучном коде ДАО, что они должны были бы поддержать, если бы они не использовали его.
Несколько подсказок:
Если у вас довольно сложная база данных, Hibernate не для вас. На работе у нас довольно сложная база данных с большим количеством данных, и Hibernate на самом деле не работает для нас. Вместо этого мы начали использовать iBATIS. Тем не менее, я знаю много магазинов разработчиков, которые успешно используют Hibernate - и он делает для вас много тяжелой работы - так что стоит подумать.
Spring - хороший инструмент, если вы знаете, как правильно его использовать.
Я бы сказал, что фреймворки - это, безусловно, хорошая вещь - как уже отмечали другие, вы не хотите изобретать велосипед. Spring содержит много модулей, которые означают, что вам не придется писать так много кода. Не поддавайтесь синдрому «Не изобретено здесь»!
Я сделал большую разработку Spring/Быть в спящем режиме. Со временем способ, которым люди использовали обоих в комбинации, изменился немного. Исходный подход HibernateTemplate оказался трудным отладить, так как он глотает и обертывает в других отношениях полезные исключения; говорите с API Hiberante непосредственно!
продолжайте смотреть на сгенерированный SQL (настройте свою разработку, регистрирующуюся для показа SQL). Наличие уровня абстракции к базе данных не означает, что Вы не должны больше думать в SQL; Вы не получите хорошую производительность если Вы иначе.
Рассматривают проект. У меня есть choosen iBatis, несколько раз В спящем режиме, где у нас были строгие требования к производительности, сложные схемы прежней версии или хороший DBa's, способный к записи превосходного SQL.
Я не работал очень с Java, но я действительно работал в больших группах Java-разработчиков. Впечатление, которое я имею, было то, что Spring в порядке. Но все были расстроены в, в спящем режиме. Половина команды, если спросили, "Если бы Вы могли бы изменить одну вещь, что Вы изменили бы?" и они сказали бы, "Избавляются от, в спящем режиме".. Когда я начал учиться, в спящем режиме, это ударило меня в удивительно комплексе, но я не изучил достаточно (к счастью, я прошел) знать, была ли сложность выровнена по ширине или не (возможно, это было, требуют для решения некоторых сложных проблем).
команда избавилась от Spring в пользу Guice, но это больше было похоже на политические изменения, по крайней мере, с моей точки зрения и других разработчиков, с которыми я говорил.
Ленивая загрузка является большим глюком в приложениях MVC, что использование В спящем режиме для их платформы персистентности. Вы загружаете объект в контроллере и передаете его представлению JSP. Некоторые или все члены класса проксируются, и все аварийно завершается, потому что Вы В спящем режиме, сеанс был закрыт когда завершенный контроллер.
необходимо будет читать Открытое заседание в поле зрения статья, чтобы понять проблему и получить решение. При использовании Spring этот , статья блога описывает решение для Spring открытого заседания, в поле зрения выходят.
В верхнем ответе упоминается, что Hibernate плохо документирован. Я согласен с тем, что интерактивное справочное руководство могло бы быть более полным. Тем не менее, книга, написанная авторами Hibernate, « Сохранение Java с Hibernate » является обязательной к прочтению для каждого пользователя Hibernate и очень полной.