特殊文字を使用してJava属性名を宣言することは可能ですか?例:
private String var/name;
private int one+one;
この質問をするのは、1 つの列の名前が である DB からデータを取得する必要があるためですannoces/status
。また、SQL クエリを使用する必要があります (hql や基準ではありません)。
それを行うことはできません:
変数名は大文字と小文字が区別されます。変数の名前は、文字、ドル記号「$」、またはアンダースコア文字「_」で始まるUnicode 文字と数字の無制限の長さのシーケンスである、任意の正当な識別子にすることができます。ただし、慣習として、変数名は常に「$」や「_」ではなく文字で始めます。さらに、慣例により、ドル記号文字はまったく使用されません。自動生成された名前にドル記号が含まれる場合がありますが、変数名には常にドル記号を使用しないようにする必要があります。アンダースコア文字にも同様の規則があります。変数の名前を「_」で始めることは技術的には合法ですが、この方法はお勧めできません。空白は使用できません。
なぜそれが必要なのかわかりません。
編集
bbr.sendQuery("Select Status, Name, Annonces/Sta AS annoncesSta , From table ",MyObject.class); のようなものを使用できます。ASを使用すると、結果で受け取る列の名前を変更できます。したがって、Java クラスの属性は「annoncesSta」にすることができます。
とにかく、「/」を含む列名を持つように配線されています。名前のベストプラクティスは次のとおりです。
ほとんどのマッパーは、これらの名前を自動的に処理します。
あなたが求めていることを行うことはできません-他の人が詳しく述べているように。私が提案する解決策は、データベース内の列名を整理して、通常の標準に従うようにし、Java で同じ名前を使用できるようにすることです。
通常の基準では、次のことを意味します。
alphanumeric characters or the following special characters: $ _ #
一部のデータベースの一部のテーブルの列名と同じ名前を Java 変数に付ける必要はまったくありません。
列の値をいくつかのマップに格納しようとしている場合、マップ キーには任意の特殊文字を含めることができます。