Hibernate對無主鍵表的操作
Db2 表:Test 只有一個測試欄位:name character(10)
Hibernate的hbm檔案:Test.hbm.xml
<xml version="1.0"?> <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);
相關推薦
Hibernate對無主鍵表的操作
Db2 表:Test 只有一個測試欄位:name character(10) Hibernate的hbm檔案:Test.hbm.xml <xml version="1.0"?> <hibernate-mapping> <class
Hibernate中處理無主鍵表的問題
前兩天同事讓我配置一個表的hbm檔案,麻煩的是這個表沒有Primary Key。今天在hibermate.org.cn找到解決方法,明天再去實踐 :) 主鍵是必須有的,要麼是單欄位的id,要麼是組合的composite-id,這一點可以從hibernate-mapping-
hibernate 對映無主鍵的資料庫表
做東西發現數據庫查出來的資料是重複資料,如果有3條記錄就重複第一條記錄3次,後來發現是表無主鍵,且hibernate對映檔案必須有id屬性,搜了搜發現要使用符合主鍵的方法.................以下轉載自一個帖子裡內容: MyEclipse自動生成的那個貌似比
goldengate 同步無主鍵表
scott.bonus表無主鍵無唯一索引,若是在gg源端發出,會導致gg目的端abend,除非目的端複製程序引數檔案有APPLYNOOPUPDATES 或者ALLOWNOOPUPDATES 引數) update scott.t1 set ename='bos' wher
--oracle刪除數據庫表(無主鍵)中重復的記錄
數據庫 create 數據庫表 new 刪除 distinct 主鍵 alter bsp --oracle刪除數據庫表(無主鍵)中重復的記錄 1, CREATE TABLE newtable as SELECT distinct * FROM
binlog_format=ROW模式下mysql表無主鍵造成的從庫延遲(卡住)
osi 一個 線程 查詢日誌 事務 發現 沒有 主從架構 應該 場景: MySQL-5.6.30, 主從架構, 只讀從庫的SQL線程卡在某一個事務兩個多小時沒有動過, show processlist發現從庫當時沒有連接和慢查詢語句;show open TABLES wh
使用MyEclipse自動生成Hibernate對映檔案和VO類及無主鍵生成2個VO類的問題
----使用MyEclipse自動生成Hibernate對映檔案和VO類及無主鍵生成2個VO類的問題 ----MyEclipse 10 1.切換MyEclipse Database Explorer環境,new一個Driver,以Oracle資料庫舉例,在完善資訊並引入j
hibernate無主鍵對映
在hibernate中,表結構如果沒有主鍵的話,對映時是會把所有的欄位預設為類似的聯合主鍵形式,就到時候就會產生2個實體類,1個人實體ID,另外一個則為真正的資料欄位 在查詢時有可能會產生一些問題, 例如,空指標,獲取的list有長度,但是實際陣列卻為空 這是一個很惱火的問題
oracle中無主鍵多表更新方法
首先看下sql server中的一段關於多表更新的update語句 UPDATE table1 SET BankAccount=t_Maintenance_Account.BankAccount FROM table1 INNER JOIN table2 ON (ta
Hibernate框架的主鍵生成策略
如果 維護 自己 db2 取值 identity 返回 nat 數字 在Hibernate中,id元素的<generator>子元素用於生成持久化類的對象的唯一標識符,也就是主鍵。Hibernate框架中定義了許多主鍵生成策略類,也叫生成器類。所有的生成器類
hibernate復合主鍵
ppi key composite app org idt tca www. blog <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hiberna
hibernate MTM 聯合主鍵
hash ret hbm.xml utf oct import override 映射 ping //適用於表裏沒有其他列,只有主鍵 //Course.java實體類 package com.tao.pojo; import java.util.HashSet; imp
利用PHP腳本輔助MySQL數據庫管理2-表主鍵表索引
dbi ble nbsp 管理 item tab count key root <?php $dbi = new DbMysql; $dbi->dbh = ‘mysql://root:[email protected]/coffeetest‘; $ma
hibernate通過pojo自動建表操作
1. 多對一 如球員和球隊的關係:多個球員在同一個球隊中。 1.1 類圖 TeamPojo:屬性 + set/get public class TeamPojo{ private Integer teamId; private String teamName; private String team
Hibernate自定義主鍵生成策略
在沒使用hibernate註解式之前,我們是需要建立hbm.xml的這樣一個用於對映的配置檔案,而我們的主鍵生成的方式則需要在這個xml的檔案內區定義。 黃色框框內就是我們主鍵生成的多種方式 1. <generator class="cok.zking
hibernate入門2主鍵生成策略
1. hibernate的主鍵生成器: generator元素:表示了一個主鍵生成器,它用來為持久化類例項生 成唯一的標識 。 1.1 程式設計師自己控制:assigned 1.2 資料庫控制: identity(標識列/自動增長) sequence 1.3 h
Hibernate Annotation配置主鍵生成策略
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興! 通過annotation來對映hibernate實體的,基於annotation的hibernate主鍵標識為@Id其生成規則由@GeneratedValue設
hibernate學習之主鍵生成策略
一、Hibernate最常用的主鍵生成策略為native和uuid。 native可以根據資料庫不同自動選擇sequence、identity和hilo其中的一種。 <id name="uId" column="uId"> <!-- 設定資料庫表id增長策略(自動
Hibernate:識別符號屬性(主鍵)生成策略全析
資料庫中的主鍵能夠唯一識別一條記錄,它可以是一個欄位也可以是多個欄位的組合。主鍵的主要作用是標識表中的一條記錄,還有和其他表中的資料進行關聯。資料庫中的主鍵型別必須符合唯一性約束和非空約束。作為附加屬性,主鍵應該儘可能簡潔,不要包含過多屬性。根據這個原則,主鍵可以分為自然
OGG對於沒有主鍵表的處理
問:想用ogg對生產庫做個報表庫。現在生產庫中還有一堆表沒有主鍵(其中有些表的記錄甚至完全一樣),對這些表上的操作容易導致報表庫REPLICAT abended,請問這在OGG配置中是如何避免的?HANDLECOLLISIONS? 答: In order t