protected String entityName(Class<T> entityClass) { String entityName = entityClass.getSimpleName(); Entity entity = entityClass.getAnnotation(Entity.class); if(entity.name()!=null&&!"".equals(entity.name())) { entityName = entity.name(); } return entityName; } 这里大概说是什么意思??
该方法用于取得指定的实体类的实体名称。如果指定的实体类的实体标签定义了名称,则取该名称,否则取类名。
例如:有实体类SampleEntity
1
2
3
4
5
6
|
import
javax.persistence.Entity;
@Entity
(name =
"SpecialName"
)
public
class
SampleEntity {
}
|
以SampleEntity类作为参数调用entityName方法:
1、方法中第一行,String entityName = entityClass.getSimpleName();
变量entityName的值设为类SampleEntity的短名称,即“SampleEntity”。
2、方法中第二行,Entity entity = entityClass.getAnnotation(Entity.class);
即取得SampleEntity的@Entity标签。
3、方法中第三行到第六行,if(entity.name()!=null&&!"".equals(entity.name()))
{
entityName = entity.name();
}
即@Entity标签中定义了name并且name不是空串时, 变量entityName的值设为@Entity标签中name的值,即“SpecialName”。
4、返回变量entityName,值为“SpecialName”。
如果SampleEntity的@Entity标签没有定义name
1
2
3
4
5
6
|
import
javax.persistence.Entity;
@Entity
public
class
SampleEntity {
}
|
方法中第三行,if(entity.name()!=null&&!"".equals(entity.name()))条件不成立,最终方法返回变量entityName,值为“SampleEntity”。