私はJPAメタモデルジェネレータ機能が、カラム名が変わったときにバグを避けるのに本当に便利だと思っています。同様のメタモデルクラスを生成する任意のクラス(またはいくつかのパッケージ)を指すことができる汎用メタモデル生成ツールがあれば、本当にうれしいでしょう。そして、これは、物事が変更されたときではなく、実行時のものよりも、コンパイルエラーを作成するために使用することができます。古いクラスのメタモデルジェネレータ?
public class SomeClass {
public int somePublicProperty;
public String someStringMethod() {
..
}
}
これは、のようなメタモデルクラスを作成します:
FieldAttributeとMethodAttributeがにとって有用な属性のようなメソッドを持っていpublic class SomeClass_ {
public static final FieldAttribute<SomeClass,Integer> somePublicProperty;
public static final MethodAttribute<SomeClass,String> somePublicMethod;
}
リバースコールをサポートします(つまり、裸の文字列を使用する必要性を取り除きます)。
Object someClassInstance = ...
Integer value = SomeClass_.somePublicProperty.get(someClassInstance);
// rather than
Integer value = someClassInstance.getClass().getDeclaredField("somePublicProperty").get(someClassInstance);
このようなものがありますか? Java 8では、メソッド参照を行うことができるようになりましたが、存在する場合は、メタモデルのようなものがほしいと思います。
Eclipse Daliは、エンティティの編集中に、適切なJPAメタモデルクラスを動的に生成します。 –
こんにちはブライアン - 私はダリを見て、それはJPAクラスのためだけにあるようです。私はJPA @Entitiesだけでなく、*どのクラスにも適用できる汎用メタモデルジェネレータの後にいます。 – fancyplants
ああ - 私は明らかに十分に読んでいないようです。申し訳ありません。 –