アノテーション@Basicから一時変数へのアノテーション

私はPOJOクラスを持っています:
- 永続プロパティ、
- 一時的なプロパティ。

While writing HQL I considered both: persistent and transient properties. I.e. HQL like select persistent_properties,transient_prop from Pojo_classname

それが正しいか?

一時変数に @Basic アノテーションを書くことはできますか?

6
ええ!実際には@Formula(value = "select ....")を持つ2つの一時的なプロパティを持っています。 and thanx Piotr
追加された 著者 Nandkumar Tekale,
なぜデータベースに存在しないフィールド(一時的なフィールド)のクエリを作成したいのですか?
追加された 著者 Piotr Nowicki,

1 答え

いいえ、正しくありません。 HQLクエリはSQLに変換されます。 @Transient プロパティはデータベースに存在しないため、SQLクエリはこのプロパティを問い合せることができません。

@Basic and @Transient are contradictory. The first one tells "this property is persistent" and the second one tells "This property is not persistent".

@Transient アノテーションではなく、Javaの transient キーワードについて話している場合は、 transient フィールドがクエリされ、 @Basic で注釈が付けられています。 transient キーワードは、永続性とは関係なく、オブジェクトのバイナリ直列化のみで使用されます。

2
追加された
私は私の答えであなたに言った。 @Transientは "このフィールドは永続フィールドではありません"を意味します。これはJPAアノテーションです。このオブジェクトをシリアライズするとき、このフィールドは無視されるべきではありません。これはJavaのキーワードです。
追加された 著者 JB Nizet,
私は訂正した。
追加された 著者 JB Nizet,
JBに感謝しますが、一時的なキーワードと@Transientアノテーションの両方を使用して機能の違いを教えてください。
追加された 著者 Nandkumar Tekale,
JB Nizet、これについては確かですか? JPA 2.0仕様:「一時的な」注釈で注釈されていないすべての非一時的なインスタンス変数は永続的です。 "フィールドの前に 'transient'キーワードを追加すると、永続化されず、スキーマ生成が使用されても適切な列は作成されません。後続の引用 "マッピングアノテーションは、一時的なまたは Transient のフィールドやプロパティに適用してはなりません。
追加された 著者 Piotr Nowicki,