Search code examples
javahibernateentitydao

Get annotated hibernate tablename from POJO


I have an entity which is declared roughly like:

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

I'm making a generic DAO class, and in doing so I'd like to retrieve the "myUserTable" name. Is there any way I can reach this name?


Solution

  • Easy enough using general reflection:

    import javax.persistence.Table;
    
    .....
    
    Class<?> c = User.class;
    Table table = c.getAnnotation(Table.class);
    String tableName = table.name();