問題タブ [hbm]
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 - HBMのSET要素内にデフォルトオブジェクトを定義することは可能ですか?
親hbmファイル内にセットのマッピングがあるとしましょう:
親hbmでデフォルトの子を定義することは、とにかく可能ですか?親が作成されるたびに、このセット内に1つの子が追加されますか????
奇妙に聞こえるかもしれませんが、パフォーマンスの問題があるため、サーバーへの呼び出しを最小限に抑える必要があります(ここでは、1つは親を保存し、もう1つはデフォルトの子を保存していました)。
私はすべての助けに感謝します。
ありがとうございました
hibernate - SetプロパティのHQLクエリ
次のHBMマッピングがあるとします。
私の学生のPOJOには、次のものがあります。
次のHQLクエリを実行したい:
ただし、休止状態は次の例外をスローします。
セットのプロパティに基づいて結果を返すHibernateクエリを実行することは可能ですか?上記の例では、「代数I」または別のコースを受講しているすべての学生を照会したい場合がありますか?
編集:適切なデバッグモードを有効にして、Hibernateに実際のSQLクエリを出力させました。生成されるクエリは次のとおりです。
hibernate - 再帰的 HBM マッピング
HBM マッピングで次のことを行うことはできますか?
上記の HBM マッピングを使用すると、サーバーが次のエラーで起動を拒否します。
Employee.java の 11 行目は単に次のように述べています。
上司と従業員の関係をモデル化するにはどうすればよいですか? スーパーバイザー用の特別な POJO はなく、スーパーバイザー オブジェクトには特別なフィールドはありません。
java - 問題を引き起こす2つのリストを持つHibernateでのオブジェクトのマッピング
hbm.xml ファイルを使用して、2 つの類似したリストを持つオブジェクトを保存しようとしています。以下は、私のモデル オブジェクトと HBM です。
このセクションの私の HMB は次のとおりです。
ただし、このオブジェクトがデータベースから読み込まれると、「リスト」にあると予想されるものはすべて「otherList」にも表示されます。hibernate がこれらの 2 つのリストを適切に保存できるようにするための簡単な構成変更が欠けていると思いますが、わかりません。
何か助けはありますか?
mysql - Hibernate で Java バイト [] を MySQL バイナリ (64) にマッピングする
Hibernate でバイト配列を MySQL データベースにマッピングするのに問題があり、明らかな何かが欠けているのではないかと考えていました。私のクラスはおおよそ次のようになります。
MySQL 5.5 では、テーブルは次のように定義されます。
Hibernate 3.6.2 のマッピングは次のようになります。
検証のみに hbm2ddl を使用していますが、アプリケーションをデプロイすると次のエラーが表示されます。
マッピングで type="binary" を使用しても、Hibernate が列の型が (tinyblob ではなく) バイナリであることを期待しない場合、どうなるかわかりません。これをグーグルで検索しましたが、正確なエラーを見つけることができませんでした。同様のエラーの解決策は...
- <プロパティ>に「長さ」を指定します。これにより、Hibernate が期待する型が変わりますが、検出される「バイナリ」型ではなく、常に何らかの種類の blob になります。
- プロパティ要素で「型」を宣言する代わりに、列要素をネストして、それに sql-type 属性を与えます。それは機能しますが、バインディングが MySQL に固有のものにもなるため、可能であれば避けたいと思います。
この設定で、この不一致の原因となる何か目立ったものはありますか? 「blob」の代わりに type="binary" を指定すると、Hibernate がバイナリではなく blob を期待するのはなぜですか?
java - ブール値をHibernateでマッピングする
Hibernateで問題が発生しています。最近、hbm2ddlを検証するように設定しましたが、間違ったデータ型について多くの不満があります。ブール値を除くすべての問題を修正しました。
クラスにフィールドopener
があり、次のようにマップされます。
列opener
はatinyint (4)
で、値は1または0です。これまでのところ、タイプを変更しようとしましたが、役に立ちませんでした。また、hibernate.cfgで次の設定を使用してみました。
しかし、それでも同じエラーが発生します。私は何が間違っているのですか?
注:データベースにアクセスできません。
nhibernate-mapping - nhibernateはSQLストアドプロシージャをエンティティにマップします
編集: NHibernate を介してストアド プロシージャを呼び出し、エンティティにマップする別の解決策を見つけました。
ご覧のとおり、SetResultTransformer ヘルプを使用して、パラメーターを設定し、結果をエンティティにマップできます。クラスのプロパティがストアド プロシージャの結果セットの列の名前と等しい場合は、すべて問題ありません。
古い質問:
いくつかのストアド プロシージャがあり、エンティティをこのストアド プロシージャの結果レコード セットにマップしたいと考えています。私の hbm ファイル:
このクエリを実行しようとすると、次の例外が発生します。
の上:
何が間違っているのですか?
hibernate - 休止状態にし、.hbm.xml ファイルを cfg.xml ファイルに追加します
情報が必要です
hbm.xml ファイルとは ??? *.hbm ファイルしか知らない
.hbm.xml ファイルを cfg.xml ファイルに追加する方法 ???
JSP を実行しようとするとエラーが発生し、.hbm.xml ファイルを cfg.xml ファイルに追加する必要があると言われました。
これはエラーです:
org.apache.jasper.JasperException: javax.servlet.ServletException: net.sf.hibernate.MappingException: No persister for: MyDB.student org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:531) org.apache .jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:332) ) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
ただの原因
javax.servlet.ServletException: net.sf.hibernate.MappingException: 永続化機能がありません: MyDB.student org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:901) org.apache.jasper.runtime.PageContextImpl.handlePageException (PageContextImpl.java:830) org.apache.jsp.JSP.index_jsp._jspService(index_jsp.java:103) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68) javax.servlet.http.HttpServlet .service(HttpServlet.java:722) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) org.apache.jasper .servlet.JspServlet.service(JspServlet.java:332) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
ただの原因
net.sf.hibernate.MappingException: 次の永続化機能がありません: MyDB.student net.sf.hibernate.impl.SessionFactoryImpl.getPersister(SessionFactoryImpl.java:347) net.sf.hibernate.impl.SessionImpl.getClassPersister(SessionImpl.java:2690) ) net.sf.hibernate.impl.SessionImpl.getPersister(SessionImpl.java:2697) net.sf.hibernate.impl.SessionImpl.saveWithGeneratedIdentifier(SessionImpl.java:763) net.sf.hibernate.impl.SessionImpl.save(SessionImpl) .java:738) org.apache.jsp.JSP.index_jsp._jspService(index_jsp.java:75) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68) javax.servlet.http.HttpServlet.service (HttpServlet.java:722) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) org.apache.jasper.servlet .JspServlet.service(JspServlet.java:332) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
mysql - Hibernate マッピングで null タイムスタンプが許可されない
データベースとして Mysql と spring-hibernate の組み合わせを使用して、Web ベースのアプリケーションを開発しています。タイプがタイムスタンプの場合、休止状態のマッピングで null を設定できないという問題が 1 つあります。理解を深めるためのコードスニペットを次に示します
ここに私の議題があります-ユーザーがstTimeではなくendTimeにnull値を入力できるようにしたいです。
schedule.htm.xml
Mysqlデータベースを調べたところ、の代わりに Columns が表示start_time [timestamp, NOTNULL]
されましend_time [timestamp, NOTNULL]
たend_time[timestamp, NULL]
。
したがって、値を挿入すると、end_time
常にCURRENT_TIMESTAMP
デフォルトで使用されます。
end_time
NULLABLE列を作成するにはどうすればよいですか?
hibernate - 生成された完全なコンストラクターに含まれるパラメーターが多すぎます
非常に多くのフィールドを持つ DB テーブルがあり、Hibernate .hbm ファイルを使用してそのテーブルの POJO を生成すると問題が発生します。問題は、生成される完全なコンストラクターが生成する Java のパラメーターが多すぎるため、コンパイラ エラーがスローされることです。
パラメーターが多すぎます。パラメーター xxxx は、メソッド パラメーターとして適格な 255 語の制限を超えています。
Hibernate による完全なコンストラクターの生成を抑制することで、これを回避したいと考えています。私の質問は
- 完全なコンストラクターがない場合、Hibernate は実行時に壊れますか?
- 完全なコンストラクターを生成しないように hbm に指示するにはどうすればよいですか?
ご回答ありがとうございます。