Hibernate—根据实体类得到对应的表名、主键名、字段名

【Hibernate】Hibernate中查询表名、字段名以及字段类型等信息 Hibernate中查询表名、字段名以及字段类型等信息的工具类 package com.lmb.ui.util; import org.hibernate.cfg.Configuration; import org.hibernate.mapping.Column; import org.hibernate.mapping.PersistentClass; import org.hiber... 阅读详情

import java.util.Iterator;

import org.hibernate.cfg.Configuration;
import org.hibernate.mapping.Column;
import org.hibernate.mapping.PersistentClass;
import org.hibernate.mapping.Property;

import com.iman.gdms.ruledata.po.IntelligenceNetVPNAndSCP;

/**
 * 功能描述:根据实体类得到对应的表名、主键名、字段名工具类
 * </p>
 * 注:po类名须与对应映射文件名一致,即Student.java与Student.hbm.xml
 *
 * @Date:Nov 10, 2008
 * @Time:3:13:07 PM
 *
 */
public class HibernateConfigurationHelper {

 private static Configuration hibernateConf;

 @SuppressWarnings("unused")
 private static Configuration getHibernateConf() {
  if (hibernateConf == null) {
   return new Configuration();
  }
  return hibernateConf;
 }

 @SuppressWarnings("unchecked")
 private static PersistentClass getPersistentClass(Class clazz) {
  synchronized (HibernateConfigurationHelper.class) {
   PersistentClass pc = getHibernateConf().getClassMapping(
     clazz.getName());
   if (pc == null) {
    hibernateConf = getHibernateConf().addClass(clazz);
    pc = getHibernateConf().getClassMapping(clazz.getName());

   }
   return pc;
  }
 }

 /**
  * 功能描述:获取实体对应的表名
  *
  * @param clazz
  *            实体类
  * @return 表名
  */
 @SuppressWarnings("unchecked")
 public static String getTableName(Class clazz) {
  return getPersistentClass(clazz).getTable().getName();
 }

 /**
  * 功能描述:获取实体对应表的主键字段名称
  *
  * @param clazz
  *            实体类
  * @return 主键字段名称
  */
 @SuppressWarnings("unchecked")
 public static String getPkColumnName(Class clazz) {

  return getPersistentClass(clazz).getTable().getPrimaryKey()
    .getColumn(0).getName();

 }

 /**
  * 功能描述:通过实体类和属性,获取实体类属性对应的表字段名称
  *
  * @param clazz
  *            实体类
  * @param propertyName
  *            属性名称
  * @return 字段名称
  */
 @SuppressWarnings("unchecked")
 public static String getColumnName(Class clazz, String propertyName) {
  PersistentClass persistentClass = getPersistentClass(clazz);
  Property property = persistentClass.getProperty(propertyName);
  Iterator it = property.getColumnIterator();
  if (it.hasNext()) {
   Column column = (Column) it.next();
   return column.getName();
  }
  return null;
 }

 /**
  * @param args
  */
 public static void main(String[] args) {
  System.out.println(getTableName(IntelligenceNetVPNAndSCP.class));
  System.out.println(getColumnName(IntelligenceNetVPNAndSCP.class,
    "vsCode"));
 }

}

 

 

ORB-SLAM3编程实践指南 它基于特征点的立体视觉和视觉惯性里程计技术,能够在没有先验知识的情况下,从单目、双目或RGB-D摄像头的输入中实时构建稠密三维地图,并实现相机的定位。通过正确配置环境、准备数据集和运行ORB-SLAM3,您可以实现高效的视觉SLAM系统,并获取相机在三维空间中的位姿。其中,[path_to_vocabulary]是ORB-SLAM3的词汇文件路径,[path_to_settings]是相机参数配置文件路径,[path_to_sequence]是输入图像的路径。运行ORB-SLAM3。 阅读详情

相关推荐

K210开发板学习笔记(三)——STM32+K210+SD卡实现人脸识别(完整K210代码)

更新日记:2022年4月26日 更新了串口通信部分的内容,本文写的略为粗糙,恐有不当之处,希望大家不吝赐教。 人脸识别 一、MaixPy IDE开发 参考博主晨少hc的博文(https://blog.youkuaiyun.com/HuangChen666/article/details/113995079)来实现人脸识别功能,我用的硬件是亚博智能的K210开发板,在配置工程中有几步和这个博主的不一样,需要注意。 所需要的文件有:模型文件),脚本文件,ide需要的bin文件...

Embedded learner的博客 4万+

Hibernate查询,常用的指定返回类型方式

Hibernate支持HQL和SQL的查询,返回结果支持POJO类型或字段/数组的形式。 开发中用Hibernate进行数据库查询,用的是SQL。原来需要查询一个表的几乎所有字段,所以我使用了addEntity方法,将查询结果转换为映射的对象。后来需求变更,需要查询另外几个表的若干字段,不想继续用addEntity绑定新加的表(毕竟只有几个字段需要查询出来,将多余的字段都转换成映射对象...

dongjizheng9270的博客 387

黑苹果从入门到精通:最详细的VMware安装macOS教程

前言 不知为何,以前我发的两篇关于黑苹果的文章或没过审或被删除,最近SMZDM上有不少优质的黑苹果文章发出来,貌似禁令已开,前段时间在一篇写的很不错的黑果文章下吹牛说今年要写一个系列,故有了这篇文章作为系列的开头。 系列的名字起的有点俗,叫做xxx从入门到精通,但是我很喜欢,相信过半的黑果群众都是程序员,作为教程来说这个名字俗但是好用,我也希望这个系列能像其它入门到精通系列一样,让大家学到东西...

La victoria的博客 14万+

hibernate的查询方法以及返回的值类型

Hibernate的查询分几种 HQL,QBC(QBE),SQL HQL查询 HQL是基于面向对象的,里面没有表,也没有列,有类和属性 直接以from开头,表示全部选择 从Hibernate3.1可以执行修改和删除 from Emp eg1.  带?参数查询 Session session = HibernateSessionFactory.getSession(); String hql="fr

萌萌的It人 www.itmmd.com 1841

UVM对象实例化及覆盖的几种方法

UVM对象实例化的方法有多种,以下以object为例: 1)第一种:直接利用new函数进行实例化 trans t1; t1 = new("t1");//利用new函数进行实例化 2)第二种:uvm_component_registry中提供的方法type_id::create,此种方法也是最常使用的方法 trans t2; t2 = trans::type_id::create("t2",this); 3)第三种:uvm_factory中提供的方法creat_object_by_type trans t

沧月九流的博客 3375

cs231n作业 assignment 1 q1 q2 q3

请先看课程作业地址。有两种做作业的方法,一种是在google Colab上做 (需魔法),另一种就是下载到本地,但是我懒得在本地配置环境,太麻烦了,还得修改一些基础代码,我就直接在google colab上做了google colab 配置环境只需要跟着教程走就好了最后还有一题解答题懒得做的,这个题目做的没啥意思。让我们用简单写法来实现softmax的loss函数与梯度计算。

Leezed525的博客 9277

hibernate学习-实体类与数据库表映射

1.根据实体类名获取表名 Map m =getSessionFactory().getAllClassMetadata() AbstractEntityPersister abstractEntityPersister = m.get(className);2.获取实体类对应主键属性名 abstractEntityPersister.getIdentifierPropertyN

hpb21的专栏 2337

UE5 StateTree实战:用分层状态机重构你的AI行为逻辑(附蓝图配置避坑点)

本文详细介绍了UE5中StateTree分层状态机的实战应用,帮助开发者重构AI行为逻辑。通过核心概念解析、迁移策略、高级技巧和避坑指南,展示了StateTree在灵活性、可维护性和并行处理方面的优势,特别适合复杂AI行为的开发与优化。

weixin_42558257的博客 247

hibernate查询映射,根据类的属性复制字段

hibernate查询映射,根据类的属性复制字段

liuxianwen1990的博客 299

OSG第三方库编译之二十一:minizip编译(Windows、Linux、Macos环境下编译)

OSG编译;第三方库;跨平台编译;minizip编译(Windows、Linux、Macos环境下编译)

LuckyHanMo的博客 2619

074.多任务学习:在YOLO基础上同时进行分割、关键点检测

本文探讨了在YOLOv5模型中实现检测、分割和关键点多任务的技术方案。通过分层特征抽取策略(检测用深层、分割用浅深融合、关键点用中层)解决特征共享问题;采用不确定性加权方法自动平衡多任务损失;设计了支持三种标签的数据流处理方式;并分享了推理部署时的后处理技巧。实践表明,合理的多任务设计可以提升主任务性能,但需权衡标注成本和推理效率。最终方案选择在训练时引入分割作为辅助任务,推理时仅保留检测和关键点,实现了检测mAP提升2.3%的优化效果。

2603_95664987的博客 44

Hibernate--根据实体类获得表名、主键名、字段名(与Spring集成)(一)

在使用Hibernate时,我们有时可能需要根据实体类获得数据库表的信息,上面的那个链接的内容已经给出了模版,不过使用Hibernate4时,如果获得的PersistentClass一直为null,可以试着采用下面的方式初始化Configuration

星夜雨年 1万+

SAP PI 系统复制,不只是把数据库拷过去,而是一次集成拓扑的重新落位

文章摘要:SAP PI/PO系统刷新生产数据到测试环境时,标准系统复制无法自动处理集成中枢特有的环境绑定问题。系统复制后,PI仍保留生产环境的连接配置,可能导致测试系统向生产环境发送消息。SAP提供的CTC模板可自动化部分后续配置,但无法替代人工对接口风险的全面评估。关键在于系统复制前绘制接口风险地图,复制后进行分层次验证:禁用生产连接、重定向测试接口、复核安全配置,并通过代表性链路测试确保系统行为符合预期。这需要结合SAP标准流程与业务语义判断,形成完整的治理闭环。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 82

hibernate 获取实体的表名、主键名、列名

import java.util.Iterator; import org.hibernate.cfg.AnnotationConfiguration; import org.hibernate.cfg.Configuration; import org.hibernate.mapping.Column; import org.hibernate.mapping.PersistentC

cnboynet的专栏 8891

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

hibernate 获取实体的表名、主键名、列名(转载+修改)

package com.escs.utils; import java.util.Iterator; import org.hibernate.cfg.AnnotationConfiguration; import org.hibernate.cfg.Configuration; import org.hibernate.mapping.Column; impor

前往JAVA架构的路上 4676

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Spring+Hibernate项目中根据类名获取表名主键列名,根据字段名获取列名

import java.util.Iterator; import org.hibernate.cfg.Configuration; import org.hibernate.mapping.Column; import org.hibernate.mapping.PersistentClass; import org.hibernate.mapping.Property; import org...

生而为人我很抱歉 826

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

hibernate中 查询表名和字段名

/** * hibernate 实体、属性查询表名、字段名工具类 *  */package com.cinwa.creditnet.common;import java.util.Iterator;import org.hibernate.cfg.Configuration;import org.hibernate.mapping.Column;import org.hibernate

智在居士草堂 4560

Hibernate--根据实体类获得表名、主键名、字段名(与Spring集成)(二)

在上一篇中,我们创建了HibernateConfigurationUtil类,可以通过它来获得实体类对应的表名、列名等相关信息,本篇我们会就借助于HibernateConfigurationUtil类以及Java反射,来实现一个JDBCUitl工具类,实现类似于Hibernate中Session.save(Object object)的功能

星夜雨年 4501

Hibernate 实体类

– Start 我们把与表对应的类称之为实体类,用 @Entity 修饰 类名与表名可以不一致,如果不一致,需要使用 @Table 设置 每个表都有主键,我们需要用 @Id 修饰主键字段 列名和字段名可以不一致,如果不一致,需要使用 @Column 设置 如果列和字段类型不匹配,我们需要通过 @Type 告诉 Hibernate 如何进行类型转换 如果一个字段在数据库中没有对应的列,需要用 @T...

千里之行始于足下 1490

Hibernate为Oracle自动创建表且主键自增

1.注意:实体类映射表字段时不要使用oralce关键字,否则不能映射成功。 2.步骤:     (1)往oralce里建一个sequence:          Sql代码  create sequence seq_id_supervision      minvalue 1      start with 1      increment by 1   create sequence seq_id_supervision

hu_shengyang的专栏 6219

hibernate配置文件工具类得到对应的表名、主键名、字段名和字段描述

import java.util.Iterator; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.hibernate.cfg.Configuration; import org.hibernate.mapping.Column; import org.hibernate.ma

alongshow的专栏 1034

Oracle函数实现表映射实体类

简介 通常使用mybatis或者是hibernate持久化框架,有点很麻烦就是每张表的映射实体类,需要“_”格式命名转成驼峰式命名,并且需要把表备注和字段备注,与类注解和成员变量注解对应上,如果一直用手动复制创建,不仅耗时,而且容易出错。虽然网络有很多java工具类可以生成,这边写了一个oracle函数,通过oracle原有的函数实现了生成表的映射类。 使用函数 执行查询sql sele...

迷途中的一片羽毛博客 2075

hibernate---根据实体类生成数据库表

如下: import javax.persistence.*; import java.util.Date; @Entity (name = "TB_SYS_LOG") public class SysLog { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "ID_") ...

weixin_39102174的博客 1239
上一篇: 命令行添加删除tomcat服务
下一篇: SQL语句解决方案
nddjava
博客等级 码龄16年 15粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值