niklassaers
niklassaers

Reputation: 8810

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?

Upvotes: 15

Views: 20401

Answers (2)

skaffman
skaffman

Reputation: 403441

Easy enough using general reflection:

import javax.persistence.Table;

.....

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

Upvotes: 31

TheGuyNextDoor
TheGuyNextDoor

Reputation: 7937

Similar to Get the table name from the model in Hibernate

Table table = Entity.class.getAnnotation(Table.class);
String tableName = table.name();

Upvotes: 8

Related Questions