1. 程式人生 > >Hibernate增加一條記錄,級聯操作。

Hibernate增加一條記錄,級聯操作。

在增加一條資訊時,沒有設定級聯操作,於是在資料庫裡每次都會新生成一個model_Id,沒有新增進指定的模組裡。
報錯:object references an unsaved transient instance - save the transient instance before flushing

在我這裡出現了兩種情況:

異常1:org.hibernate.TransientObjectException: object references an unsaved transient instance

解決方法:在我的主表Model中加入cascade="save-update"

異常2:not-null property references a null or transient value

解決方法:將“一對多”關係中的“一”方,not-null設定為false

異常3:could not initialize proxy - the owning Session was closed
解決方法:設定lazyfalse

相關推薦

Hibernate增加記錄操作

在增加一條資訊時,沒有設定級聯操作,於是在資料庫裡每次都會新生成一個model_Id,沒有新增進指定的模組裡。 報錯:object references an unsaved transient instance - save the transient instance

Shell 指令碼每隔100行插入記錄並且記錄第一列包含行號其他列不變

1、例子:每隔100行插入一條記錄,並且此條記錄的第一列包含行號,其他列與第一行相同 #!/bin/sh var="00001" # 變數 cat a.txt|awk 'NR==1'|while read line # 獲取檔案第一行

mybatis的Mapper中在mysql和oracl中新增記錄返回記錄id

情景再現:專案中經常在mybatis的Mapper中在mysql和oracl中新增一條記錄後,需要返回記錄id: 1.使用mysql資料庫: //java的User物件,包含id,name,password三個屬性 <insert id="insert" useGenerate

Hibernate修改記錄

所以最直接的更新一個物件的方法就是在Session處於開啟狀態時load()它,然後直接修改即可: DomesticCat cat = (DomesticCat) sess.load( Cat.class, new Long(69) );  cat.setName("PK"

Elasticsearch 外掛head 端增加記錄增加一個欄位

增加欄位在head端     /索引/_mapping/型別 {    "goods": {                   //goods 是型別        "properties": {            "china_title": {      //

hibernate的中的查詢與操作

導致 pan 出了 場景 效果 自動保存 情況下 主鍵 只需要 1.Criteria查詢接口適用於組合多個限制條件來搜索一個查詢集。 要使用Criteria,需要遵循以下步驟: *創建查詢接口: Criteria criteria=session.createCrite

MySQL中主表與副表的區別操作的運用

劃重點: 1 被約束的表稱為副表,約束別人的表稱為主表,外來鍵設定在副表上的。 2 主表被參考的欄位通常都設定為主鍵 3 當有外來鍵約束的時候,新增資料的順序:先加主表,再新增副表的資料 4 當有外來鍵約束的時候,修改資料的順序:先修改副表,再修改主表的資料 5 當有外來鍵約束

odoo 創建記錄的時候自動增加一個序列號

fault number where 實現 更新 字段 echo param only 第一步: 在odoo開發者模式,進入配置設置添加一個序列號,sequence ocde 這個地方的值要與代碼裏相同    開始是在代碼裏這樣設置的,cwbh是財務編號的字段需求是每次新

Kafka:ZK+Kafka+Spark Streaming集群環境搭建(二十五)Structured Streaming:同一個topic中包含組數據的多個部分按照key它們拼接為記錄(以及遇到的問題)

eas array 記錄 splay span ack timestamp b- each 需求: 目前kafka的topic上有一批數據,這些數據被分配到9個不同的partition中(就是發布時key:{m1,m2,m3,m4...m9},value:{records

SQL 將記錄中多個字段的值拼接為一個字段 && 將多行數據合並成一行並且拼接CONVERT() 、for xml path的使用

varchar start 技術分享 現在 date rom 結果 技術 ont 接著上篇文章的訂單表(商品編號,價格設置時間id(類似於創建時間,創建時間約早,則act_id越小) ,價格的時間段,商品價格) 一、將一條記錄中多個字段的值拼接為一個字段 現要求將兩個時間

資料庫擴充套件性設計:使用二進位制解決記錄關聯多個狀態的問題(轉)可以嘗試一下

程式開發中,經常遇到一條記錄有多個狀態位,比如一條商品,他屬於熱門,新品,特賣。我們的資料庫如何設計呢? 一般有幾種方法 (1)建立關聯表 關聯表字段:關係Id,商品Id,屬性Id 查詢:使用關聯表的方式,查詢某屬性的商品。 程式:寫入時,寫商品表和關聯表;

解決EasyUi中的DataGrid刪除記錄被刪除的資料仍處於被選中狀態問題

專案中遇到這麼一個問題,在easyui的datagrid中,刪除一條記錄成功,重新載入datagrid後,去點編輯操作,仍可把之前刪除掉的那條記錄進行編輯操作,正常情況應該是,刪除後再去點選“編輯”,應提示沒有被選中的記錄。現在這個情景說明,在datagrid刪除資料重新載入後,當datagrid呼叫getS

用遊標和WHILE可以遍歷您的查詢中的每記錄並將要求的欄位傳給變數進行相應的處理

用遊標,和WHILE可以遍歷您的查詢中的每一條記錄並將要求的欄位傳給變數進行相應的處理 ================== DECLARE @A1 VARCHAR(10), @A2 VARCHAR(10), @A3 INT DECLARE CURSOR YOUCUR

前端之路:sql語句表中隨機獲取記錄(資料)(或者獲取隨機獲取多記錄)資料)

<!--表中獲取隨機一條title 耗時0.01s id==隨機欄位,最好為表id--> SELECT * FROM `tableName` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `ta

Laravel次更新多記錄批量更新的方法

在我們實際應用中,免不了這樣的情況——例如我們同時錄入多條資訊,可能三條五條還好說,但量一旦變大,就會增加讀寫資料庫的次數,會降低效率,那麼,我們該如何實現,做到一次讀寫資料庫,批量更新呢? 例如這種情況: HTML程式碼: <!doctype html> &l

oracle過濾某個欄位重複記錄只獲取記錄

oracle過濾某個欄位重複記錄,只獲取一條記錄 一,首先想到: 1,關鍵字distinct 2,group by 3,MAX,MIN這樣的函式被稱為聚集函式,和GROUP搭配起來用 但均無法實現,執行結果如下 舉例: 表名:OffsiteOutreachTeam_Lis

hibernate的關聯一對多(新增查詢普通刪除)

一、什麼是關聯(association) 1、關聯指的是類之間的引用關係。如果類A與類B關聯,那麼被引用的類B將被定義為類A的屬性。 2、關聯的分類:關聯可以分為一對一、一對多/多對一、多對多關聯 關聯是有方向的 關聯的關鍵點都在外來鍵上 二、如何建立一對多雙向

sql 刪除表中多餘的重複記錄(多個欄位)只保留記錄

在網上呢~自己收集了一些關於這方面的知識~  自己整理一下 1.查詢重複記錄 select * from 表名 where 重複欄位 in (select 重複欄位 from 表名 group

面試題:刪除資料庫中帶有重複欄位的記錄只保留記錄

select * from tablename where 重複欄位1 in (select 重複欄位1 from tablename group by 重複欄位1,重複欄位2 having count(*)>1)。SQL重複記錄查詢方法:1、查詢表中多餘的重複記錄,重

SQL Server 刪除重複記錄只保留記錄

        有張表格之前沒有設計關鍵欄位的唯一約束,導致有時候執行插入操作時不小心執行了多次就出現了重複記錄,後面重新加入唯一約束,由於已經有了重複記錄,無法新增,需要先刪除重複記錄。         看了網上的一些刪除重複記錄的方法(好像都是轉載於同一篇文章,至少看了