【发布时间】:2014-08-10 20:38:55
【问题描述】:
session.createSQLQuery("SELECT EXISTS
(SELECT 1 FROM master.invoices WHERE currency_id = 17879)").list()
给我 BigInteger。 我怎样才能得到布尔值?
【问题讨论】:
标签: java mysql hibernate boolean biginteger
session.createSQLQuery("SELECT EXISTS
(SELECT 1 FROM master.invoices WHERE currency_id = 17879)").list()
给我 BigInteger。 我怎样才能得到布尔值?
【问题讨论】:
标签: java mysql hibernate boolean biginteger
这是它的工作原理。
Boolean.valueOf((List<String>) session.createSQLQuery("SELECT IF
(SELECT 1 FROM master.invoices WHERE currency_id = 17879)
, 'true', 'false')").list());
【讨论】:
相应地试试这个,伙计
SELECT CASE WHEN EXISTS(
SELECT *
FROM
master.invoices
WHERE currency_id = 17879
)
THEN CAST(1 AS BIT)
ELSE CAST(0 AS BIT) END
【讨论】:
.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BIT) ELSE CAST(0 AS BIT) END' at line 1