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

HibernateはJava言語用のオブジェクトリレーショナルマッピング(ORM)ライブラリであり、開発者はアプリケーションでPOJOスタイルのドメインモデルをオブジェクト/リレーショナルマッピングをはるかに超える方法で利用できます。

27
クラスパスリソースで定義された 'entityManagerFactory'という名前のBeanの作成エラー:initメソッドの呼び出しに失敗しました
Springプロジェクトをコンパイルすると、次のエラーが発生しました。 クラスパスリソース[org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]で定義された「entityManagerFactory」という名前のBeanの作成エラー:initメソッドの呼び出しに失敗しました STS EclipseとMySqlデータベースを使用しています 私の接続文字列Application.Propertiesは spring.datasource.url=jdbc:mysql://localhost:3306/stgdb spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.jpa.hibernate.ddl-auto=update 詳細なエラーは以下のとおりです ================================================= 2016-10-15 15:34:38.875[0;39m [31mERROR[0;39m [35m3700[0;39m [2m---[0;39m [2m[ main][0;39m [36mo.s.boot.SpringApplication [0;39m [2m:[0;39m Application startup failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: …

9
Spring Bootですべてのデータベース関連の自動構成を無効にする
私はSpring Bootを使用して2つのアプリケーションを開発しています。1つはサーバーとして機能し、もう1つはクライアントアプリです。ただし、どちらも同じアプリであり、アクティブなプロファイルによって機能が異なります。Spring Bootの自動構成機能を使用してアプリケーションを構成しています。 データベース接続を必要としないので、クライアントアプリですべてのデータベース関連の自動構成を無効にします。アプリケーションは、データベースとの接続を確立しようとしたり、Spring Data機能やHibernate機能を使用したりしないでください。データベースの自動構成の有効化または無効化は、条件付きであり、アプリのアクティブなプロファイルに基づいている必要があります。 それぞれのプロファイルに対して2つの異なるapplication.propertiesファイルを作成することでこれを実現できますか? これを私のプロパティファイルに追加してみました、 spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration\ org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration\ org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration\ org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration ただし、アプリケーションは起動時にデータベースへの接続を試みます。それらの除外は私の要件を達成するのに十分ですか?


15
JPA:大きな結果セットを反復するための適切なパターンは何ですか?
数百万行のテーブルがあるとしましょう。JPAを使用して、そのテーブルに対するクエリを反復処理する適切な方法は何ですか?何百万ものオブジェクトを持つすべてのメモリ内リストがないのはなぜですか? たとえば、テーブルが大きい場合は、次のようになると思います。 List<Model> models = entityManager().createQuery("from Model m", Model.class).getResultList(); for (Model model : models) { System.out.println(model.getId()); } ページネーション(ループと手動更新setFirstResult()/ setMaxResult())は本当に最善の解決策ですか? 編集:私が対象としている主なユースケースは、一種のバッチジョブです。実行に時間がかかる場合は問題ありません。関連するWebクライアントはありません。一度に1つ(またはいくつかの小さなN)の行ごとに「何かを行う」必要があります。私はそれらすべてが同時にメモリにあるのを避けようとしているだけです。
114 java  hibernate  jpa 

11
SLF4Jを使用するようにHibernate 4でロギングを構成するには
使用されているHibernate 3.x slf4jロギング用。Hibernate 4.xはjboss-logging。ロギングにHibernate 4とSLF4Jを使用するスタンドアロンアプリケーションを書いています。 SLF4Jにログを記録するようにHibernateを構成するにはどうすればよいですか? それが不可能な場合、どうすればHibernateのロギングを構成できますか? ロギングに関する Hibernate 4.1マニュアルのセクションは、それが...であるという警告で始まります。 完全に古くなっています。Hibernateは4.0以降のJBoss Loggingを使用しています。これは、このコンテンツを開発者ガイドに移行する際に文書化されます。 ... SLF4Jについて話し続けるので、役に立たない。入門ガイドも開発者ガイドも、ロギングについてはまったく触れていません。移行ガイドも同様です。 jboss-logging自体のドキュメントを探しましたが、何も見つけることができませんでした。GitHubのページは沈黙している、とJBossのコミュニティプロジェクトのページには、でも、リストのjboss-ロギングを行いません。プロジェクトのバグトラッカーにドキュメントの提供に問題があるのではないかと思いましたが、実際はそうではありませんでした。 良いニュースは、JBoss AS7などのアプリケーションサーバー内でHibernate 4を使用する場合、ロギングの大部分が処理されることです。しかし、スタンドアロンアプリケーションでどのように構成できますか?

30
Hibernateエラー:org.hibernate.NonUniqueObjectException:同じ識別子の値を持つ別のオブジェクトがすでにセッションに関連付けられています
2つのユーザーオブジェクトがあり、使用してオブジェクトを保存しようとしています session.save(userObj); 次のエラーが発生します。 Caused by: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.pojo.rtrequests.User#com.pojo.rtrequests.User@d079b40b] 私はセッションを作成しています BaseHibernateDAO dao = new BaseHibernateDAO(); rtsession = dao.getSession(userData.getRegion(), BaseHibernateDAO.RTREQUESTS_DATABASE_NAME); rttrans = rtsession.beginTransaction(); rttrans.begin(); rtsession.save(userObj1); rtsession.save(userObj2); rtsession.flush(); rttrans.commit(); rtsession.close(); // in finally block session.clear()保存する前にも試してみましたが、まだうまくいきませんでした。 これは、ユーザーリクエストが来たときに初めてセッションオブジェクトを取得するためのものです。そのため、オブジェクトがセッションに存在していると言う理由がわかります。 助言がありますか?
114 java  hibernate  orm 

14
Hibernateの軽量な代替物ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 DerbyやSqliteなどの軽量データベースにデータを保存したいシングルユーザーJavaプログラムがあります。プログラムでデータ抽象化レイヤーを使用したいと思います。Hibernateは多くの設定を必要とするようで、私が必要としているものに対してはやりすぎです。Hibernateの軽量な代替品は何ですか?

7
休止状態の問題-「マッピングされていないクラスをターゲットとする@OneToManyまたは@ManyToManyの使用」
私はHibernate Annotationsで足を見つけています。問題が発生しました。誰かが手伝ってくれるといいのですが。 SectionとScopeTopicの2つのエンティティがあります。セクションにはListクラスのメンバーがあるため、1対多の関係です。単体テストを実行すると、次の例外が発生します。 マップされていないクラスを対象とする@OneToManyまたは@ManyToManyの使用:com.xxx.domain.Section.scopeTopic [com.xxx.domain.ScopeTopic] このエラーは、ScopeTopicエンティティがテーブルにマップされていないことを示していると思いますか?私は間違ったことを見ることができません。エンティティクラスは次のとおりです。 @Entity public class Section { private Long id; private List<ScopeTopic> scopeTopics; public Section() {} @Id public Long getId() { return id; } public void setId(Long id) { this.id = id; } @OneToMany @JoinTable(name = "section_scope", joinColumns = {@JoinColumn(name="section_id")}, inverseJoinColumns = {@JoinColumn(name="scope_topic_id")} ) public List<ScopeTopic> …
113 hibernate  jpa 

8
JPAの熱心なフェッチが参加しない
JPAのフェッチ戦略は正確には何を制御しますか?熱心なものと怠惰なものの違いを検出できません。どちらの場合も、JPA / Hibernateは多対1の関係を自動的に結合しません。 例:人は単一の住所を持っています。アドレスは多くの人に属することができます。JPAアノテーション付きエンティティクラスは次のようになります。 @Entity public class Person { @Id public Integer id; public String name; @ManyToOne(fetch=FetchType.LAZY or EAGER) public Address address; } @Entity public class Address { @Id public Integer id; public String name; } JPAクエリを使用する場合: select p from Person p where ... JPA / Hibernateは、Personテーブルから選択する1つのSQLクエリを生成し、次に各個人の個別のアドレスクエリを生成します。 select ... from …
112 java  hibernate  jpa  join 


11
persistence.xmlに<class>要素が必要ですか?
私は非常に単純なpersistance.xmlファイルを持っています: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"&gt; &lt;persistence-unit name="eventractor" transaction-type="RESOURCE_LOCAL"&gt; &lt;class&gt;pl.michalmech.eventractor.domain.User&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.Address&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.City&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.Country&lt;/class&gt; &lt;properties&gt; &lt;property name="hibernate.hbm2ddl.auto" value="validate" /&gt; &lt;property name="hibernate.show_sql" value="true" /&gt; &lt;/properties&gt; &lt;/persistence-unit&gt; &lt;/persistence&gt; そしてそれは動作します。 しかし、&lt;class&gt;要素を削除すると、アプリケーションにエンティティが表示されません(すべてのクラスにはで注釈が付けられます@Entity)。 @Entityクラスをスキャンする自動メカニズムはありますか?
110 java  hibernate  orm  jpa  annotations 


3
JPA / Hibernateでのflush()の正しい使用
私はflush()メソッドに関する情報を収集していましたが、それをいつ使用し、どのように正しく使用するかについては明確ではありません。私が読んだことから、私の理解は、永続化コンテキストの内容がデータベースと同期される、つまり、未解決のステートメントを発行したりエンティティデータを更新したりすることです。 今、私は2つのエンティティAとB(1対1の関係で、JPAによって強制またはモデル化されていない)以下のシナリオを取得しました。A手動で設定される複合PKがあり、自動生成されたIDENTITYフィールドもありますrecordId。これrecordIdはへBの外部キーとしてエンティティに書き込む必要がありますA。私は、1つのトランザクションで保存AしBています。問題は、自動生成された値があることをA.recordId、私はの明示的な呼び出しを行う場合を除き、トランザクション内では使用できませんem.flush()呼び出した後em.persist()にA。(自動生成されたIDENTITY PKがある場合、値はエンティティで直接更新されますが、ここではそうではありません。) em.flush()トランザクション内で使用すると害が生じる可能性がありますか?

8
エンティティエラーのマッピングの別の繰り返し列
他のすべての投稿にもかかわらず、MacOSX、NetBeans 7.2ではGlassFishでこのエラーの解決策を見つけることができません。 Here the error : SEVERE: Exception while invoking class org.glassfish.persistence.jpa.JPADeployer prepare method SEVERE: Exception while preparing the app SEVERE: [PersistenceUnit: supmarket] Unable to build EntityManagerFactory ... Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: com.supmarket.entity.Sale column: customerId (should be mapped with insert="false" update="false") ここにコード: Sale.java @Entity public …

13
Hibernate LazyInitializationExceptionを修正する方法:ロールのコレクションを遅延初期化できませんでした、プロキシを初期化できませんでした-セッションがありません
SpringプロジェクトのカスタムAuthenticationProviderで、ログに記録されたユーザーの権限のリストを読み取ろうとしていますが、次のエラーが発生します。 org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.horariolivre.entity.Usuario.autorizacoes, could not initialize proxy - no Session at org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:566) at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:186) at org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:545) at org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:124) at org.hibernate.collection.internal.PersistentBag.iterator(PersistentBag.java:266) at com.horariolivre.security.CustomAuthenticationProvider.authenticate(CustomAuthenticationProvider.java:45) at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156) at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:177) at org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter.attemptAuthentication(UsernamePasswordAuthenticationFilter.java:94) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:211) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.