2

計算されるビジネスオブジェクトのプロパティがあります。計算にはログインしたユーザーの詳細の一部が含まれるため、単純なSQLクエリとして表すことはできません。

その名前の列がないにもかかわらず、Hibernateがデータベースからフィールドを取得しようとし続けるため、HibernateマッピングXMLファイルでフィールドを表すのに問題があります。

4

2 に答える 2

1

その名前の列がないにもかかわらず、Hibernateがデータベースからフィールドを取得しようとし続けるため、HibernateマッピングXMLファイルでフィールドを表すのに問題があります。

私はおそらく明らかな何かが欠けていますが...なぜあなたはこのフィールドをマッピングしているのですか?ただし、念のため、これは属性の適切なユースケースになる可能性があり<formula>ます。


このフィールドはJavaクラスにあり、クエリをコーディングするときに、クエリを入力するためのカスタムSQLを提供できます。例:SELECT t。*、(SELECT x FROM y)AS field FROM table t WHERE ... Hibernateを使用すると、次のことができます。次に、SQLQuery.addEntity(Z.class)を使用して、オブジェクトを適切に作成します。私が理解している限り、フィールドをマッピングから完全に除外すると、クエリでその属性を入力することはできません。私が試してみました :)

こんなことを疑っていたのですが、確認を取りたかったのです。ここにはそれほど多くのオプションがあるとは思いません。<formula>(休止状態をだますための「ダム」式であるかどうか)を使用するか、管理されていないエンティティを返します

于 2010-08-18T08:22:04.623 に答える
0

このプロパティを「一時的」にしたいようです

<transient name="foo" />
于 2010-08-18T12:41:40.200 に答える