問題タブ [hibernate-entitymanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - java.lang.ClassNotFoundException: javax.persistence.Persistence
JPA を使用するアプリケーションがあり、それを Tomcat 7 にデプロイしようとしています。下記のスタック エラーが発生するため、すべてのライブラリを正しく含めていないようです。しかし、Java アプリケーションとして実行すると、正しくコンパイルされます。
基本的に、私のサーブレットは呼び出しますPersistence.createEntityManagerFactory(PERSISTENCE_UNIT)
ファクトリを使用して呼び出しfactory.createEntityManager()
、エンティティ マネージャーを使用して、Http リクエストからのパラメーターで作成されたオブジェクトを永続化しようとします。
サーバーは例外を発生させています
java.lang.ClassNotFoundException: javax.persistence
.
Persistence からファクトリを取得する最初のメソッドを呼び出したとき。スタックは次のとおりです。
そしてこれは私のPOM.xmlです:
編集:
WEB-INF/Lib :
postgresql - JAVA ウェブアプリを使用した AWS RDS Postgres への接続
RESTful WebService である Web アプリがあります。Amazon Cloud にある Postgres DB に接続しようとします。リクエストがあるたびに、JPA と Hibernate を使用して DB に接続しようとします。
次の行にエラーが表示されます: factory = Persistence.createEntityManagerFactory("RestWebServiceIDSaude");
永続化ユニット「RestWebServiceIDSaude」は次のように定義されています。
Web アプリが AWS インスタンスで実行されているか、自分のマシンで実行されているかに関係なく、常に次のエラーが発生します。
javax.persistence.PersistenceException: エンティティ マネージャー ファクトリを構築できません...
誰かが私を助けてくれたら、本当に感謝しています。他のコードについて質問したり、他の質問をしたりしてください。
完全なスタック トレース:
hibernate-entitymanager - @NaturalId はルートエンティティ (またはその @MappedSuperclasses) でのみ有効で、結合された複数のテーブル継承で Natural Id を使用します
基本的に、ルート例外「@NaturalId only valid on root entity (またはその @MappedSuperclasses)」を検索タブに貼り付けるだけで、Googleで同様の問題を見つけることができません。結合された複数テーブルの継承戦略を使用して、抽象的な親( Person )を含む具象/子エンティティ( Student、Employee ) をデータベース内の 3 つのテーブルにマップしていますが、これまでのところ問題はありませんでした。 Student のStudentIdを使用して、私の Student Entity のカスタム クエリを実装する必要があります。. 基になる Hibernate-session を Entity-manager から抽出することに成功し、最愛の HibernateSession から必要なメソッドを明確に確認して使用できるようになりました (Hibernate には (byId、byNaturalId などの) naturalIds のメソッドがあることは誰もが知っています)。 )、これらの種類のメソッドは、エンティティのクエリに非常に役立ちます。そのため、studentId データ メンバーに@NaturalIdでアノテーションを付けるまで..何らかの操作 (保存/作成) を実行すると、複数行の例外がスローされます。そして根本的な原因は..
追加情報としてエンティティのコードを貼り付けます
Parent抽象基本クラス
人物クラス
Entityサブクラス
学生クラス
質問: さまざまな学生エンティティに対して一意のクエリを作成するためにできることはありますか? Hibernate の naturalId メソッドは、get や update などのエンティティを操作するのに非常に便利だからです。
エンティティとデータベース テーブルを使用して設計を犠牲にすることなく、目的を達成するための回避策はありますか? 可能であれば、studentId を naturalId として機能させたいと考えています。提案/ヘルプ/コメントをお願いします。どんなことでも大歓迎です。
spring - SpringでHibernate動的モデルを使用してEntityManagerFactoryを取得する:名前付きマッピングファイルを解決できません
Hibernate で作業中に JPA EntityManagerFactory を取得しようとしています。さらに、ここで説明されているように、動的モデルを使用しています
したがって、Persistence Unit、persistence.xml、orm.xml などはありません。自分のクラスがどのパッケージで作成されているかさえわかりません/制御しません...
SessionFactory は、WEB-INF ディレクトリに休止状態のマッピング ファイルがあるだけで魅力的に機能しました。しかし、別のライブラリには EntityManagerFactory が必要なので、SessionFactory の代わりに作成しようとしています。
次のエラーが常に表示されます。理由がわかりません。助けてください! Google は、このリソースを取得するためにクラスローダーが使用されていることを示すファクトリ ビルダーと関連ソース、および META-INF の場所が機能することを説明する javadoc を含む多くの情報を示しましたが、機能しません...
ポンポン:
hbm:
春のアプリのコンテキスト:
hbm ファイルの場所 (どこにでもあります):
残念ながら、Netbeans は「src\main\java\com\ttt\app\」をディストリビューションにコピーしませんが、いずれにせよファイルをルートに近い場所に保持したいので、WEB-INF が理想的です。セッションファクトリー
spring - JPA2.1 での persistenceUnitName
私はSpringプロジェクト(JPA2.1を使用)を持っており、persistenceUnitNameはそのプロジェクトで「デフォルト」として定義されています。
このプロジェクトの依存関係を (maven を使用して) 定義しました (別のプロジェクトで spring-core.jar を使用して、いくつかのエンティティ クラスやその他のものを再利用します)。
このプロジェクトで同じ persistenceUnitName を定義すると、persistenceUnitName の競合エラーが発生します。
しかし、このプロジェクトで persistenceUnitName の名前を変更すると、インポートされたプロジェクトの persistenceUnitName (「デフォルト」) を作成できません。そのため、インポートされたプロジェクトのJPAクラスを作成できません(pom.xmlで依存関係を定義しました)
解決策を教えてください。実際、これは休止状態でこのように機能していましたが、移行により苦労しています。
hibernate - Spring XD の DAO を使用した MS Sql および Hibernate entityManagerFactory
MS Sql
Spring XDのDAOでHibernate
entityManagerFactoryを使用することは可能ですか??
DataSource
私のプロジェクトには構成クラスがあり、私のプロジェクトに必要な構成に必要な Bean を書いていますJDBCTemplate
。
私もビーンズのようなものを持っています
プロジェクトを Spring XD にデプロイすると、
私は例外を取得します:
次に、spring-boot-starter-data-jpa の依存関係を追加すると、次のような例外が発生しました
提供されるスコープの有無にかかわらず、Spring Boot の依存関係を含めようとしました。依存関係を追加しようとしました
ローカルPOMに。
また、依存関係をSpring XD libフォルダーに直接移動しましたが、それを行った後、例外が発生しました:
そして、hibernate.dialect を設定すると、例外は次のようになります。
16:39:23,344 エラー DeploymentsPathChildrenCache-0 server.ContainerRegistrar - モジュール java.lang.IllegalArgumentException をデプロイする例外: インターフェイス org.springframework.boot.SpringApplicationRunListener をインスタンス化できません: org.springframework.boot.context.event.EventPublishingRunListener org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:381) で org.springframework.boot.SpringApplication.getRunListeners(SpringApplication.java:352) で org.springframework.boot.SpringApplication.run(SpringApplication.java:274) ) org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:142) で org.springframework.xd.module.core.SimpleModule.initialize(SimpleModule.java:203) で org.springframework.xd.dirt. module.ModuleDeployer.deploy(ModuleDeployer.java:98) at org.springframework.xd.dirt.module.ModuleDeployer.deployAndStore(ModuleDeployer.java:88) at org.springframework.xd.dirt.module.ModuleDeployer.deployAndStore(ModuleDeployer. java:78) org.springframework.xd.dirt.server.ContainerRegistrar.deployModule(ContainerRegistrar.java:231) org.springframework.xd.dirt.server.ContainerRegistrar.deployJobModule(ContainerRegistrar.java:530) で org.springframework.xd.dirt.server.ContainerRegistrar.onChildAdded(ContainerRegistrar.java:447) で org.springframework.xd org.springframework.xd.dirt.server.ContainerRegistrar$DeploymentListener.childEvent(ContainerRegistrar.java:826) の .dirt.server.ContainerRegistrar.access$800(ContainerRegistrar.java:95) cache.PathChildrenCache$5.apply(PathChildrenCache.java:509) at org.apache.curator.framework.recipes.cache.PathChildrenCache$5.apply(PathChildrenCache.java:503) at org.apache.curator.framework.listen.ListenerContainer$1 .run(ListenerContainer.java:92) at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) at org.apache.curator.framework.listen.ListenerContainer.forEach(ListenerContainer.java:83) org.apache.curator.framework.recipes.cache.PathChildrenCache.callListeners(PathChildrenCache.java:500) org.apache.curator.framework. Recipes.cache.EventOperation.invoke(EventOperation.java:35) org.apache.curator.framework.recipes.cache.PathChildrenCache$10.run(PathChildrenCache.java:762) で java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:471) で java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) で java.util.concurrent.FutureTask.run(FutureTask.java:166) で java.util.concurrent で。 Executors$RunnableAdapter.call(Executors.java:471) で java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) で java.util.concurrent.FutureTask.run(FutureTask.java:166) で java .util.concurrent.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) の ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.lang.Thread.run(Thread.java:722) の原因: java.lang .IllegalArgumentException: クラス org.springframework.boot.context.event.EventPublishingRunListener は、org.springframework.util.Assert.isAssignable(Assert.java:369) で org.springframework.util.SpringApplicationRunListener のインターフェイス org.springframework.boot.SpringApplicationRunListener に割り当てられません。 .Assert.isAssignable(Assert.java:352) at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:375) ... 29 詳細lang.IllegalArgumentException: クラス org.springframework.boot.context.event.EventPublishingRunListener は、org.springframework の org.springframework.util.Assert.isAssignable(Assert.java:369) のインターフェース org.springframework.boot.SpringApplicationRunListener に割り当てられません。 util.Assert.isAssignable(Assert.java:352) at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:375) ... 29 詳細lang.IllegalArgumentException: クラス org.springframework.boot.context.event.EventPublishingRunListener は、org.springframework の org.springframework.util.Assert.isAssignable(Assert.java:369) のインターフェース org.springframework.boot.SpringApplicationRunListener に割り当てられません。 util.Assert.isAssignable(Assert.java:352) at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:375) ... 29 詳細getSpringFactoriesInstances(SpringApplication.java:375) ... 29 もっと見るgetSpringFactoriesInstances(SpringApplication.java:375) ... 29 もっと見る
この Exception の原因を特定できる人はいますか?
SPRING-XD を使用した上記の作業例に関するヘルプは、非常に高く評価されています。
ありがとう
mysql - 休止状態で接続を確認する方法
休止状態接続を使用するのは初めてです。クエリを実行する前に接続を確認するのが困難です。現在、クエリを実行すると、接続が利用できないことを確認する前に、Java Swing アプリケーションが約 30 秒ほどハングします。私はすでに session.isConnected() を使用しましたが、サーバーがダウンしていても、戻り値は常に true です。助けてください。ありがとう
ここに私の接続プロパティがあります:
hibernate - 永続化における Hibernate 列の不一致
私は、登録目的で EJB ベースの登録ユーザー トランザクション マネージャーを作成しようとしてきました。これは非常に基本的なプロトタイプなので、ハッシュ化されていないパスワードなどは気にしないでください。
私が現在苦労している問題は、dao から呼び出された永続化メソッドの列の不一致です。問題の核心は、休止状態がユーザー名として渡された値を ID に挿入しようとするという事実です。
同様の問題がいくつか解決されていることがわかりましたが、「Id」テーブルが主キーとして明示的にマークされているため、これらは hibernate の自動生成テーブルの名前の競合によるものであり、ここでは当てはまりません。
特に、以前に単一の戦争でSpringBeansで使用していたので、休止状態がこのように動作する理由がまったくわかりませんが、現在、同じ休止状態コードがスタンドアロンEJBで機能していません。
私のダオに関数を登録する
ユーザー エンティティ クラス - Id 値は、データベースのテーブル定義内で自動生成されるように設定されます。
リモート登録呼び出しの JBOSS ログは次のとおりです。
spring - hibernate-jpa-2.0-api 依存関係が追加された「entityManagerFactory」という名前の Bean の作成中にエラーが発生しました
entityManagerFactory に問題があります。エラーがあります:
依存関係 hibernate-jpa-2.0-api に追加し、persistance-api が存在する場合は削除する必要があることを読みました。persistance-api が pom.xml に存在しませんでした。hibernate-jpa-2.0-api がありませんでした。私はそれを追加しましたが、この問題に関するほとんどすべてを読んだと思いますが、まだ存在しています。何か案は?
アプリ コンテキスト:
そして私のpom.xml