タグ付けされた質問 「hibernate」

6
サービスレイヤーとDAO —なぜ両方ですか?
私はSpringMVC、Hibernate、およびJava Webアプリケーションの例でいくつかのデータベースを使用しています。 これを行ういくつかの異なる方法がありますが、このSpring 3とhibernateの統合チュートリアルの例には、モデルクラス、ビュー(jsp内)、およびコントローラーのサービスクラスとdaoクラスがあります。 私の質問は、サービスとDAOクラスの両方が同じことをしないのですか?なぜ両方が必要なのですか? これは私が実際に使用していたチュートリアルです:http : //fruzenshtein.com/spring-mvc-security-mysql-hibernate/


5
springまたはhibernateまたはその他のJava Webフレームワークを学習するには、サーブレットとJSPを知る必要がありますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 私は多くの人々にJava Web開発の学習を始める場所を尋ねてきましたが、コアJava(スレッド、ジェネリック、コレクション、(JDBC)の少しの経験)はすでに知っていますが、JSPとサーブレットは知りません。サーバーサイドにPHPを使用し、クライアントサイドにHTML、CSS、Javascript、HTML5を使用するいくつかのWebベースのアプリケーションで、開発の公平な配分を行いました。 私が尋ねたほとんどの人は、Hibernateにすぐに飛びつくように私に言ったが、一部の人は私がサーブレットとjspを学ぶ必要はなく、すぐにSpringフレームワークを勉強すべきだと言った。これは本当ですか?休止状態またはSpringを学習するためにサーブレットとJSPを学習する必要はありませんか? 彼らの答えはすべて私を混乱させ、今私は何を学ぶか勉強するかを完全に失います。JSPとサーブレットの学習をスキップした場合、将来役立つと思われる多くの重要な概念を見逃してしまうと思います。 だから、質問は、spring / hibernateまたは他のJava Webフレームワークを学ぶために、基礎と知識のサーブレットとJSPが必要ですか?

1
Javaアプリケーション構造:水平分割と垂直分割
大きなJavaアプリケーションのプロジェクト構造(Maven / Eclipseを使用)の開始について少し議論します。 オプション1: entities (i.e. the whole database using Hibernate classes-first) services (i.e. sets of read/write operations on the entities) app (perhaps split up more further down the line) オプション2: area1-entities area1-services area1-app area2-entities area2-services area2-app ... (where area1, area2 etc. are functional areas of the system) オプション2を使用すると、明らかにMavenプロジェクト/モジュールが大幅に増え、データベースを生成するクラスが複数のプロジェクトに分散されます。誰もが各アプローチの長所/短所をアドバイスできますか?

2
EJB 3の代わりにSpring + Hibernateが優先されますか?
私の考えでは、新しいJEEプロジェクトが開始されると(これらの技術が適用される場合)、人々はEJB 3ではなくSpring + Hibernateの組み合わせを使用することを好みます。 若手プログラマーにもアドバイスされているようです、EJBの代わりにそのために行くことているようです。 これは個人的な好みですか、それとも適切な理由がありますか?(たとえば、EJBまたは技術の肥大化に対するパフォーマンスの理由または学習曲線に対する不信を引き起こした以前のEJBバージョンによって作成された個人的な傷跡)?

1
IntelliJとMavenコンパイル
Hibernate jarを必要とするプロジェクトがあります。 それらをpom.xmlの依存関係として追加すると、Mavenはプロジェクトを適切にコンパイルします。 ただし、IDEでは、Hibernate APIへのすべての注釈と呼び出しが未解決(赤)としてマークされます。 IntelliJでそれらを解決できるようにするにはどうすればよいですか? Build ProjectをクリックしたときにMavenを使用する方法はありますか?(Ctrl + F9) また、IntelliJ内のファセットの概念と混同しています。それらが必要ですか、永続化アシスタントを有効にするJPAファセットなどとしましょう...またはMavenに処理を任せるオプションがありますか?

5
DBのパフォーマンスを考慮して複雑なREST APIを設計するにはどうすればよいですか?
REST APIの設計方法に関するいくつかのチュートリアルに従ってきましたが、まだいくつかの大きな疑問符があります。これらのチュートリアルはすべて、比較的単純な階層のリソースを示しています。これらのチュートリアルで使用されている原則が、より複雑な階層にどのように適用されるかを知りたいのです。さらに、彼らは非常に高い/建築レベルにとどまります。永続層は言うまでもなく、関連するコードはほとんど表示されません。Gavin Kingが言ったように、私は特にデータベースのロード/パフォーマンスについて心配しています: 開発のすべての段階でデータベースに注意を払えば、労力を節約できます アプリケーションがのトレーニングを提供するとしますCompanies。Companies持っDepartmentsていOfficesます。Departments持っていEmployeesます。Employees持っているSkillsとCoursesし、特定のLevel特定のスキルのは、いくつかのコースのために署名することができるように要求されています。階層は次のとおりですが、 -Companies -Departments -Employees -PersonalInformation -Address -Skills (quasi-static data) -Levels (quasi-static data) -Courses -Address -Offices -Address パスは次のようになります。 companies/1/departments/1/employees/1/courses/1 companies/1/offices/1/employees/1/courses/1 リソースを取得する したがって、会社を返すときに、階層全体を返すことはできませんcompanies/1/departments/1/employees/1/courses/1+ companies/1/offices/../。部門または展開された部門へのリンクのリストを返す可能性があり、このレベルでも同じ決定を行う必要があります。部門の従業員または展開された従業員へのリンクのリストを返しますか?それは部門や従業員などの数に依存します。 質問1:私の考えは正しいですか。「階層をどこで切るか」は、私がしなければならない典型的なエンジニアリング上の決定ですか ここで、尋ねられたときGET companies/idに、部署のコレクションへのリンクのリストと展開されたオフィス情報を返すことにします。私の会社には多くのオフィスがないので、テーブルOfficesと一緒に参加するAddressesことは大したことではありません。応答の例: GET /companies/1 200 OK { "_links":{ "self" : { "href":"http://trainingprovider.com:8080/companies/1" }, "offices": [ { "href": "http://trainingprovider.com:8080/companies/1/offices/1"}, { "href": "http://trainingprovider.com:8080/companies/1/offices/2"}, { "href": …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.