hibernate查詢資料庫char型別欄位時只返回一個字元
在oracle或sqlServer下會遇到,查詢資料表字段型別為char,如果使用Hibernate原生SQL去執行查詢,往往只會返回
一個字元.原因是char在java中只有兩個位元組.
解決方法
1.改成
select cast(列 as varchar2(列大小)) from 表;或者改為 select trim(列) from 表
2.指定列返回的型別.
SQLQuery query = session.createSQLQuery();
query.addScalar(columnAlias,Type);
相關推薦
hibernate查詢資料庫char型別欄位時只返回一個字元
hibernate查詢資料表char型別欄位只返回一個字元 在oracle或sqlServer下會遇到,查詢資料表字段型別為char,如果使用Hibernate原生SQL去執行查詢,往往只會返回 一
mybatis使用char型別欄位查詢oracle資料庫時結果返回null
同事在學mybatis時,遇到了一個問題就是,使用char型別欄位作為查詢條件時一直都查不出資料,其他型別的則可以。 使用的資料庫是oracle,查詢條件欄位型別是char(50),java程式碼對應的是String型別。 後來經過排查,是由於在oracle
字串存入資料庫date型別欄位
有時候為了計算方便等原因需要將時間以date格式存入資料庫,但是前臺傳過來的資料型別都是字串,如果將字串直接插入date型別的欄位中會拋:ORA-01861: 文字與格式字串不匹配。 前臺頁面有一個表單,如下所示: <form action="......" method="get"&
java 查詢資料庫中 某個欄位值是否已存在
String url = select count(*) from user where user_email = ?; PreparedStatement pstm = Connection|.preparedStatement (url); ResuleSet
(jdbcType)mybatis 查詢Oracle Date型別欄位只精確到年月日
用mybatis generator生成程式碼後,執行查詢語句時,oracle裡的Date型別欄位只精確到年月日,後面時分秒都為零。 後來發現是jdbcType問題,改成 jdbcType="TIMESTAMP" 就可以。(原先預設生成時是jdbcType="DATE")
SQL 如何查詢text,ntext型別欄位為空不為null ?
我們知道,在sql語句中,如果查詢某個文字欄位值為空的,可以用select * from 表 where 欄位='' ,但是如果這個欄位資料型別是text或者ntext,那上面的sql語句就要出錯了。 下面是個人總結的幾種常用方法: 1. select * from 表 w
Hibernate針對Java基本型別欄位的對映策略總結
本文使用的資料庫測試環境為: MySQL:Windows 10x64 5.7.12-log SQL Server:Windows 10x64 SQL Server 2012 Oracle:Oracle Database 11g E
JAVA查詢資料庫讀取日期欄位與資料庫中儲存不一致問題
浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>
Django中修改欄位時注意的一個問題
問題:Django 1.7.8表 Users 和 Tenant 做了多對多關聯。django 會自動建立一個表 users_tenants(user_id與tenant_id的對應)class Users(models.Model):tenants = models.Many
資料庫讀取時間欄位後面多了一個".0"問題的解決辦法
今天寫自己的部落格網站遇到一個問題:就是從資料庫讀取的時間顯示在網頁上是下面這種,多了一個”.0” 但是我分明已經寫了時間格式: //獲取評論時間 public String commenttime() { SimpleDa
DISTINCT選取多個欄位,只DISTINCT一個欄位的解決辦法
此文是根據原作者所著加上自己的理解總結出來的,如果有什麼問題歡迎各位提出一起交流探討。先貼出原文如下: 某前臺sql語句,簡化後如下 SELECT products_name,products_viewed FROM `products_description` O
SpringBoot框架下的SQL查詢空值結果時返回Map型別欄位為空
今天在執行業務的時候發現在一次查詢時, 查詢出當一個欄位值為null時,封裝成Map型別返回的物件則不存在該值如:<select id="getUserDetail" parameterType="java.util.Map" resultType="java.util
oracle資料庫中,欄位型別不一致,導致查詢慢
最近一個WEBSERVICE突然變慢了,後查詢發現,後臺查詢也非常慢(記錄條數800多萬),索引也有,如下語句 SELECT P.ID,P.RECORD_ID,P.KEY_NAME,P.KEY_CONTENT FROM MED_E
hibernate自動建表設定欄位型別為資料庫中為timestamp型別
1:專案需要,欄位應該設計為timestamp型別,但自動建表後總是被設定為datetime(當時用的資料庫為sqlserver) Google後,在配置檔案(Xxx.hbm.xml)中column新增 sql-type="timestamp" default="CUR
mysql模糊查詢unicode編碼的欄位的解決方案——mybatis查資料庫mysql時對unicode支援問題
1.mysql資料庫裡的nickname欄位內容是經過unicode編碼處理後儲存的, 如:\u73\u74\u61\u72\u7a\u6d\ud83d\udc7f\u20\ud83d\ude04\u20\ud83d\ude03\u20\ud83d\ude13 實際明文:
資料庫的日期型別欄位該如何選擇?
當設計一個產品,其中很多地方要把日期型別儲存到資料庫中,如果產品有相容不同資料庫產品的需求,那麼,應當怎樣設計呢? (1) 當然,首先想到的是,使用資料庫的Date或DateTime型別,可是看看不同資料庫這些型別間的區別吧,真讓人望而止步。
DB2查詢char型欄位問題
在使用DB2 查詢 char 型欄位應用like時遇到這樣一個問題 表名student,欄位ID,ID的資料型別為char 長度是20 表中ID資料為 000123 000125 000126 001123 想通過select * from student where I
oracle資料庫查詢某個表的欄位資訊
(1)查詢整個資料庫所有表的欄位 select t.column_name from user_col_comments t;(一般建議去執行,因為資料庫表過多執行起來會非常的慢) (2)查詢特定表名的表字段 select t.column_name, t.column_name&nbs
如何在指定資料庫表中插入TimeStamp型別欄位
# 在指定表中 插入一個 TimeStamp型別的欄位,預設當前時間作為插入時間顯示,以後更新資料時會跟著更新 時間 ALTER TABLE 表名 ADD 欄位名 TimeStamp default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
MYSQL資料庫 的 decimal 欄位型別 和 Java 的BigDecimal
mysql中的decimal , 在java中的用BigDecimal表示的。 decimal decimal(18,0) 18是定點精度,0是小數位數。 decimal(a,b) a指定指定小數點左邊和右邊可以儲存的十進位制數字的最大個數,最大精度38。 b指定