15

私は大まかに次のように宣言されているエンティティを持っています:

@Entity
@Table(name = "myUserTable")
public class User implements Serializable { ... }

私はジェネリック DAO クラスを作成しています。その際、「myUserTable」という名前を取得したいと考えています。この名前にたどり着く方法はありますか?

4

2 に答える 2

30

一般的な反射を使用して十分に簡単です:

import javax.persistence.Table;

.....

Class<?> c = User.class;
Table table = c.getAnnotation(Table.class);
String tableName = table.name();
于 2009-08-24T07:16:40.607 に答える
8

Hibernate でモデルからテーブル名を取得するに似ています

Table table = Entity.class.getAnnotation(Table.class);
String tableName = table.name();
于 2009-08-24T07:21:09.973 に答える