Hibernate中对无主键表的操作

hibernate 无主键表映射 hibernate 无主键表映射资源说明: 1. 简单Demo 2. Demo对应的sql语句 3. 对应博客文档 立即下载

Db2 表:Test 只有一个测试字段:name character(10)

Hibernate的hbm文件:Test.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<class name="Test" table="test">
 <composite-id name="testpk" class="Testpk" unsaved-value="any">
  <key-property name="name" column="name" type="string"/>
    </composite-id>
 </class>
</hibernate-mapping>

 

Test.java

 

import java.io.Serializable;

public class Test implements Serializable{

 private Testpk testpk;
 
 public void setTestpk(Testpk value){
  this.testpk=value;
 }
 
 public Testpk getTestpk(){
  return this.testpk;
 }
 
}

Testpk.java

import java.io.Serializable;

public class Testpk implements Serializable{
 
 private String name;
 public String getName()
 {
  return this.name;
 }
 
 public void setName(String value){
  this.name=value;
 }
 
 public boolean equals(Object other) {
      Testpk that = (Testpk) other;
    
      return this.name.equals(that.name);
      }
   
      /**
    * Returns the hash code for the key.
    */
  
      public int hashCode() {
    
      return (this.name.hashCode());
     
      }

}

测试代码:

Test t=new Test();
  Testpk tpk=new Testpk();
  tpk.setName("test000000");
  t.setTestpk(tpk);
  session.save(t);

最后值得注意的是当要load的时候,不能简单的Test t=(Test)session.load(Test.class,"test000000"); 而使用一个Testpk作为一个实体类的标识符。

所以应该这么写:

Testpk tpk=new Testpk();
 tpk.setName("test000000");
 Test t=(Test)session.load(Test.class,tpk);

 

环境DB2、Eclipise、Hibernate2测试成功

 

别再折腾虚拟机了!手把手教你用WSL2在Windows 11上安装Kali Linux(含汉化与图形界面) 本文详细介绍了如何在Windows 11上通过WSL2安装和配置Kali Linux,包括汉化与图形界面设置。通过WSL2,用户可以享受接近原生性能的Linux体验,同时保持与Windows系统的无缝集成,特别适合网络安全爱好者和开发者。文章还提供了常见问题解决和性能优化建议,帮助用户高效使用Kali工具集。 阅读详情

相关推荐

伺服电机的位置控制模式:PP模式与CSP模式的比较

在轮廓位置模式下,上位机给定目标绝对位置(或相对位置)、速度、加速度等参数,伺服内部的轨迹发生器根据这些参数生成目标位置曲线指令,通过伺服驱动器内部实现三环控制(位置环、速度环、力矩环)。如果还不理解,不妨看看下面的类比:轮廓位置模式中,上位控制器对伺服电机说,我给你个位置,怎么去哪,走那条路,那是你自己的事,这个时候伺服电机是有自己的思想的。同期同步位置模式红,上位机控制器对伺服电机的管理就和 严格,除了告诉你目标位置,走那条路都是控制器说的算,伺服电机就是个没有灵魂的工具。重点关注,轮廓位置模式。

m0_49968063的博客 5804

关于无主键的数据表配置hibernate实体类

    今天在做项目时,遇到了一个没有主键Id的数据表,需要配置对应的Hibernate配置文件,用于底层数据处理。     首先,根据Hibernate的管理配合表的处理机制,需要对配置的文件数据进行唯一标识,这样正常来说直接使用对应数据表的主键作为这个标记字段如:                  也可以使用数据表中其他,带有唯一性的字段作为标记字段,如:Id Card ;    对于没有主键...

Java小爬虫 4752

BIOS更新后PIN不可用怎么办?从原理到实操的完整修复指南

在计算机维护中,BIOS更新是常见的固件升级操作,但其引发的登录异常却常让用户措手不及。Windows Hello PIN并非传统密码,它通过TPM芯片与设备启动环境(PCR状态)强绑定,一旦主板固件或安全启动配置改变,TPM便会拒绝释放密钥,导致“由于此设备上的更改,你的PIN不再可用”。理解这一原理后,恢复路径清晰可控:优先尝试密码登录,或通过WinRE替换utilman.exe创建临时管理员,必要时还需处理BitLocker恢复密钥。本文面向系统维护与数据安全场景,系统梳理PIN失效的恢复流程与避坑方

weixin_31364787的博客 362

视图无主键字段时,使用Hibernate @Id注解的正确使用

视图无主键字段时,使用Hibernate @Id注解的正确使用 hibernate在使用时,对每一个数据实体类,需要使用@Id注明主键字段,当注解的字段并非真正意义主键(唯一不重复),会导致操作异常。eg:@Id注解的字段在视图中并不唯一时会导致查询结果可能出现重复数据,而重复的数据实际标记@Id字段值一样。 处理方式 创建视图时增加主键列。 使用连联合主键。 @Data @Entity @T...

白桦栎的博客 1384

VTK学习(入门级教程,包括安装和使用)~持续更新中

说明:研究QT+VTK有段时间了,准备把学到的东西分享给大家,这篇博客以VS+QT+VTK为主进行展开学习的。

HXX904的博客 4756

MoveIt控制睿尔曼RM65机械臂:从仿真到实机的3种控制模式对比

本文详细解析了使用MoveIt框架控制睿尔曼RM65机械臂的三种核心模式:拖动规划、目标姿态规划和Python API控制,从Gazebo仿真到实机部署的完整实现路径。通过ROS环境配置、控制参数优化及实机过渡技术,为工业自动化和机器人研究提供实用指南。

727

hibernate映射文件无主键

Hibernate无主键配置文件编写 2011年07月12日 星期二 09:46 A.M. Hibernate无主键配置文件编写 1.环境:jdk1.4+hibernate2.0+weblogic8 一般情况下,我们建的表都会有主键,然后根据Hibernate的配置文件编写条件 有一个主键key,剩下的是Property的属性,对应的PO类也就是一个普通的javabean.然后

Qiangxie2008的专栏 1054

第二十三章 Nest集成日志框架Winston

Winston是一个非常流行的Node.js日志框架,而Nest.js是一个基于Node.js的后端框架。修改 winston.module.ts 内容如下 添加 forRoot 方法,接收 winston 的 createLogger 方法的参数,返回动态模块的 providers、exports。这里用到了 printf 的 format 函数,它可以自定义打印的日志格式 且使用了chalk 加上了颜色,并且打印了 dayjs 格式化的时间。可以看到控制台打印了自定义的 logger 的自定义。

枫ゞ的博客 1069

Hibernate处理没有主键的table

hibernate 因为数据库创建的表没有设置主键,所以一直出现各种错误,而且一直报错无法匹配,查了半天原来Hibernate是一定要设置主键了。 org.hibernate.boot.MappingNotFoundException: Mapping (RESOURCE) not found : com.library.model/Assistent.hbm.xml : origin(com.l...

明月寄天涯的博客 815

大模型-CLIP 详细介绍

最先进的计算机视觉系统通常被训练来预测一组预定义的对象类别。这种受限的监督形式限制了它们的通用性和可用性,因为要指定任何其他视觉概念,就需要额外的标注数据。比如,它们可以识别“猫”、“狗”、“汽车”等。但是,这种做法有一个明显的局限性:如果你想让系统识别一个新的类别,比如说“独角兽”,你就必须提供大量带有“独角兽”标签的图片来训练系统。这不仅耗时费力,而且限制了系统的灵活性和广泛适用性。直接从原始文本中学习关于图像的信息是一种很有前途的替代方案,因为它利用了更广泛的监督来源。

晓的博客 9717

《从零搭建Vue3项目实战》(AI辅助搭建Vue3+ElemntPlus后台管理项目)零基础入门系列第一篇:开发环境准备

vue3入门实战:环境准备篇

感谢阅读 1385

Hibernate对无主键表的操作

Db2 表:Test 只有一个测试字段:name character(10) Hibernate的hbm文件:Test.hbm.xml &lt;xml version="1.0"?&gt; &lt;hibernate-mapping&gt; &lt;class name="Test" table="test"&gt; &lt;composite-id name=&quo

sundful的专栏 965

将Dify平台开发的工作流集成到Open WebUI中

将Dify开发的工作流集成到Open WebUI是一个能够显著增强AI应用交互能力和业务逻辑深度的有效途径。其核心在于通过API建立两者间的通信桥梁,并确保API在格式、协议和行为上的一致性,特别是向OpenAI Chat API规范看齐。最简单直接的路径是利用Dify的“对话型”或“Agent型”应用,这类应用的API设计更倾向于满足Open WebUI这类聊天前端的期望。然而,面对复杂的现实场景,直接的完美兼容并非总是唾手可得。

形上得其象,形下合于数;阴阳自济,玄理自明。 2030

Hibernate无主键配置文件编写

来自:http://yuwenhu.blog.51cto.com/672091/160930 说明: 日志表(T_B_OPERLOG)中无主键,在hibernate按一般有主键的方式来改写映射文件和生成的持久层对象; 以一般有主键的方式来操作持久层对象,就可以实现Hibernate中对无主键表的操作。 改写映射文件时要注意[b]最后从所有属性中选择一个有唯一性的属性作为一个“主键”[...

iteye_12724的博客 223

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Hibernate操作没有主键的表

首先对于没有主键的表,要生成ORM映射的话,需要用复合主键,具体请点击 复合主键 。 这里想说的demo是不用生成ORM映射,通过hibernate操作表。关于建表和vo请参考复合主键链接。 下面说说具体的实现方法。 package com....

chunyuhan1641的博客 293

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

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

标记一下(hibernate update无主键表失败)

试验了一下,对无主键表更新不能成功,添加删除没问题 public class SsSysIpFilter implements Serializable { /** * */ private static final long serialVersionUID = 1L; private SsSysIpFilterId id; public Ss...

smiky的专栏 200

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Hibernate处理无主键的表的映射问题

转载自:http://quanjj.iteye.com/blog/1124052 Hibernate处理无主键的表的映射问题,其实很简单,就是把一条记录看成一个主键,即组合主键。   第一步:建表(略,无主键)。   第二部:进行配置文件的编写。     第三部:重写实体类中的OBJECT的equals方法和hashCode并且每个实体要实现java.io.Seri

lester的专栏 536

hibernate 映射无主键的数据库表

做东西发现数据库查出来的数据是重复数据,如果有3条记录就重复第一条记录3次,后来发现是表无主键,且hibernate映射文件必须有id属性,搜了搜发现要使用符合主键的方法.................以下转载自一个帖子里内容:   MyEclipse自动生成的那个貌似比较复杂 会多用一个联合主键的POJO类 我写了一个相对简单的 只需要映射的POJO就OK了 希望有帮助比如 我

疯猫 1万+
上一篇: Hibernate中乐观锁的操作
下一篇: Hibernate中如何处理一对多关系中的组合主键
asper
博客等级 码龄26年 3粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值