jpa+mysql:查詢出的記錄居然都是同一個entity
在jpa的函式中,我用createNativeQuery執行了一個查詢語句,這個查詢語句用到了union,並且用到了left join,查詢出結果後,卻發現記錄數目正確,但每條記錄居然資料完全一樣,進行跟蹤,對其執行的查詢語句放mysql中進行查詢,結果正確,各條記錄是各條記錄,但是jpa對映到entity後,就變成數目相同的同一條記錄了。
後來才發現,因為用union,用left join,在select的欄位列表中,id指向的是一個完全相同的值,也就是查詢出來的記錄雖然各不相同,但其id結果值卻是相同的!!
所以,jpa對映entity時,是根據id來居分不同實體的,id相同,則認為是同一條記錄,會重複記錄,而不會分別記錄其它欄位不同的值。
相關推薦
jpa+mysql:查詢出的記錄居然都是同一個entity
在jpa的函式中,我用createNativeQuery執行了一個查詢語句,這個查詢語句用到了union,並且用到了left join,查詢出結果後,卻發現記錄數目正確,但每條記錄居然資料完全一樣,進行跟蹤,對其執行的查詢語句放mysql中進行查詢,結果正確,各條記錄是各條
postgresql 從一張表中查詢出記錄然後批量插入到另一張表中
有個業務從 appuser 表中 把uid 查出來所有uid 資料,然後批量插入 app_user_sdk 表中 insert into app_user_sdk ((select uid,'MY' from appuser); 又要重複插入,又把新新增的使用者,
mysql:查詢與約束
1、DQL語句 單表的條件查詢: -- 滿足條件的欄位將被顯示查詢 SELECT 欄位名 FROM 表名 WHERE 條件; 準備資料 -- 建立表 CREATE TABLE student ( id int, name varchar(20),
spring-data-jpa 多條件查詢 學習記錄
spring-data-jpa 是對資料庫訪問的簡化的封裝,可以幫助我們更加方便的實現對資料庫的各種操作。Spring Data JPA 規範方法的名字,根據符合規範的名字來確定方
mysql 慢查詢日誌記錄
環境: 作業系統: CentOS 6.5 資料庫: mysql-5.1.73 1、檢視當前慢查詢配置 mysql> show variables like 'slow%'; +---------------------+---------------------------
MySQL慢查詢日誌記錄和分析
一、引言 在日常的開發中,有時候會收到使用者或者產品經理反饋說網站的響應速度有點慢,即使是管理系統頁面也會出現這種情況。導致網頁響應速度慢的原因有很多,比如:資料表的某些欄位沒有建立索引,或者說是建立了索引,但索引失效,又或者說肯能因為最近來了一個新人同事,把某一條的SQL語句寫的執
【go語言讀取mysql】go語言連線mysql,並且查詢出結果
一、需求分析 go語言 連上mysql,並且從mysql中讀取資料 二、實現效果 "D:\Program Files (x86)\JetBrains\Gogland 171.3780.106\
kettle從mysql中查詢出特定的資料然後傳送郵件附件到指定的郵箱。
剛開始接觸kettle,還是小白,但是感覺這東西挺強大。 做了一個傳送附件excel到指定郵箱的demo。現在記錄如下。 1. 2. 3. . 4.job檔案 新建job檔案,在空白處設定屬性 5.拖入以下按鈕 設定郵件引數 到這裡應該就差不多了,執行成功的截
MySQL之——查詢重複記錄、刪除重複記錄方法大全
查詢所有重複標題的記錄: SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Title DESC 一、查詢重複記錄
Mysql_案例2:查詢出哪些員工的薪資在部門平均薪資之上
平均薪資 薪資 info png join pan image ron 分享圖片 案例:查詢出哪些員工的薪資在部門平均薪資之上 1、背景:當前數據庫有employee表和department表,數據分別如下: employee表: department
案例2:用一條SQL查詢出數學語文成績都大於80分的學生姓名?
方法1: 查出科目成績有小於80分的學生姓名,再約束並去重學生不等於查出來的姓名 select distinct A.name from t_score A where A.name not in(select distinct B.name from t_score B where B.fenshu &
MySQL:記錄的增刪改查、單表查詢、約束條件、多表查詢、連表、子查詢、pymysql模組、MySQL內建功能
資料操作 插入資料(記錄): 用insert; 補充:插入查詢結果: insert into 表名(欄位1,欄位2,...欄位n) select (欄位1,欄位2,...欄位n) where ...; 更新資料update 語法: update 表名 set 欄位1=
mysql查詢出所有重複的記錄
假如我們有如下一張資料表(很簡單,只是舉例而已),表名為student。現在我們要取出其中重複記錄。重複是以name相同為判定標準。 ID name phone age 1 張三 10086 15
mysql查詢出所有重復的記錄
記錄 cell span -a val 我們 str 重復記錄 short 假如我們有如下一張數據表(很簡單,只是舉例而已),表名為student。現在我們要取出其中重復記錄。重復是以name相同為判定標準。 ID name phone age 1 張三 10
面試題:用一條sql語句查詢出“每門”課程都大於80分的學生姓名
分析:要查詢出每門課程都大於80分的學生姓名,因為一個學生有多門課程,可能所有課程都大於80分,可能有些課程大於80分,另外一些課程少於80分,也可能所有課程都小於80分,那麼我們要查找出所有大於80分的課程的學生姓名,我們可以反向思考,找出課程小於80分(可以找出有一些課
mysql分組查詢n條記錄
sta 最大的 查詢 需求 dmi 依據 count 狀態 重點 當業務邏輯越來越復雜時,這個查詢的需求會越來越多,今天寫成筆記記錄下來,防止再忘記 SELECT * FROM `notice` a where add_time > 1513008000 and a
mysql:error 1093 update子查詢
update一、 需求要將base_info.name以wl_開頭的數據的status字段更新為2二、執行Update base_infoSet a.status=2Where (select id from base_info where name like ‘%xx%’) 執行時,提示1093錯誤,ERR
Mybatis關聯查詢,查詢出的記錄數量與數據庫直接查詢不一致,如何解決?
mobile 語句 細心 problem 解決方法 指向 map blog money <select id="findUserInfoListForMap" resultMap="BaseResultMap"> SELECT p.name, u.
利用pandas將mysql查詢出得結果寫入到excel文件
pandas excel#!/usr/bin/env python3import pandas as pdimport pymysql#返回SQL結果的函數def getrel(sql): conn = pymysql.connect(host='localhost',user=
Mysql查詢出所有列名
from mysq sel sele columns ide pap ID sid select group_concat(COLUMN_NAME Separator ‘,‘) as COLUMN_NAME from information_schema.COLUMNS