根据反射得到一个hibernate实体的主键
来源:互联网 发布:淘宝运费价格怎么写 编辑:程序博客网 时间:2024/05/22 10:47
在很多地方都需要知道实体的名字,以便于抽象类对具体类的统一处理。如果设计时所有实体统一使用id,那就可以避免不必要的麻烦,否则如果有的实体PK叫id,有的实体PK叫userid,那在做sql语句统一操作时就比较麻烦了,硬编码是我们应该避免的。所以这里提供了一段小程序,供抽取那些使用annotation的实体pk。
public static String getPKName(Class entityClass) {
Field[] fields = entityClass.getDeclaredFields();
for (Field f : fields) {
Annotation[] annotations = f.getAnnotations();
if (annotations.length <= 0) {
String name = f.getName();
String setMethodName = "get"
+ StringUtils.left(name, 1).toUpperCase()
+ StringUtils.substring(name, 1);
try {
Method method = entityClass
.getDeclaredMethod(setMethodName);
annotations = method.getAnnotations();
} catch (Exception e) {
// do nothing.
}
}
for (Annotation anno : annotations) {
if (anno.toString().contains("@javax.persistence.Id()"))
return f.getName();
}
}
return null;
}
- 根据反射得到一个hibernate实体的主键
- Hibernate—根据实体类得到对应的表名、主键名、字段名
- Hibernate—根据实体类得到对应的表名、主键名、字段名
- Hibernate—根据实体类和主键值得到对应的实体
- hibernate根据实体类获得主键属性名
- 根据表名得到除主键外的所有字段
- Hibernate--根据实体类获得表名、主键名、字段名(与Spring集成)(一)
- Hibernate--根据实体类获得表名、主键名、字段名(与Spring集成)(二)
- Hibernate--根据实体类获得表名、主键名、字段名(与Spring集成)(一)
- hibernate 获取实体的表名、主键名、列名
- hibernate实体—复合主键、视图的注解配置方法
- hibernate 无主键的表映射实体类
- 关于hibernate对实体类主键生成策略的注解
- hibernate的实体类编写规则与主键生成策略
- 码的, hibernate, 添加新表后,得到 表的 主键ID
- 根据主键查询单个实体(Find)
- hibernate根据主键查询内容
- Hibernate高级实体关联映射之单值的实体关联(共享的主键关联)
- MyEclipse 和Eclipse的快捷键
- MSSQL扩展存储过程 master.dbo.xp_sqlagent_enum_jobs--整理帖
- Uboot启动流程分析
- NMAKE
- MSSQL日期推算--本周一的日期和本周结束日期本月开始日期和本月结束日期
- 根据反射得到一个hibernate实体的主键
- 如何使用jquery对特殊字符进行转义,防止js注入
- C语言string.h中的函数
- 服务器并发能力测试 Apache Beach - Tech - JavaEye论坛
- 杀死长时间占用CPU的进程
- 某外企SQL Server面試題
- 常用JS收集
- MSSQL求連續ID內數量合計-常見解決方案
- __declspec关键字详细用法