私は大まかに次のように宣言されているエンティティを持っています:
@Entity
@Table(name = "myUserTable")
public class User implements Serializable { ... }
私はジェネリック DAO クラスを作成しています。その際、「myUserTable」という名前を取得したいと考えています。この名前にたどり着く方法はありますか?
一般的な反射を使用して十分に簡単です:
import javax.persistence.Table;
.....
Class<?> c = User.class;
Table table = c.getAnnotation(Table.class);
String tableName = table.name();
Hibernate でモデルからテーブル名を取得するに似ています
Table table = Entity.class.getAnnotation(Table.class);
String tableName = table.name();