我正在使用Hibernate.我写了一些原生查询,因为我需要使用sub select语句.
查询看起来像这样:
SELECT sub.rownum FROM
(SELECT k.`news_master_id` AS id, @row := @row + 1 AS rownum
FROM keyword_news_list k
JOIN (SELECT @row := 0) r
WHERE k.`keyword_news_id` = :kid
ORDER BY k.`news_master_id` ASC) AS sub
WHERE sub.id = :nid
Run Code Online (Sandbox Code Playgroud)
当我像这样运行此查询时:
sessionFactory.getCurrentSession()
.createSQLQuery(query)
.setParameter("kid", kid)
.setParameter("nid", nid)
.uniqueResult();
Run Code Online (Sandbox Code Playgroud)
出现此异常:
org.hibernate.QueryException: Space is not allowed after parameter prefix ':' ....
Run Code Online (Sandbox Code Playgroud)
这可能是因为:=操作员.我发现了一些Hibernate问题.这个问题仍然存在.这个问题没有解决办法吗?
当我将多个值映射到@RequestMapping(如Multiple Spring @RequestMapping注释)时,我可以获得请求的值(URL)吗?
像这样:
@RequestMapping(value={"/center", "/left"}, method=RequestMethod.GET)
public String getCenter(Model model) throws Exception {
String requestedValue = getRequestedValue(); // I want this.
// I want to do something like this with requested value.
String result;
if (requestedValue.equals("center")
result = "center";
else if (requestedValue.equals("left")
result = "left";
return result;
}
Run Code Online (Sandbox Code Playgroud) 我知道为什么断言编程是好的,所以我想用JavaScript.但是,我不想向用户显示错误框,这是不寻常的事情.只是忽略它,让它们重试可能会更好.
例如,此代码将生成错误框并中断用户.
function getDomainFromURL(url) {
assertTrue(url, 'URL should not be null');
...parsing
}
Run Code Online (Sandbox Code Playgroud)
所以,我会这样做.
function getDomainFromURL(url) {
if (!url) return;
...parsing
}
Run Code Online (Sandbox Code Playgroud)
我想,第二个对可用性有好处,第一个对开发有好处.因此,IMO最好将这些结合起来并使其assert消失在生产代码上.
问题1 你是这么认为的吗?或者有什么不同的想法?
问题2 如果您这么认为,有没有什么好方法可以使用Spring3框架?
当某个对象具有盒装类型属性时,属性的getter返回0.但是这应该返回null,因为盒装类型属性的默认值是null.这里有什么问题?
class Person {
private Long id;
public Long getId() {
return id;
}
}
...
@Mock Person person;
...
person.getId(); // 0 instead of null
Run Code Online (Sandbox Code Playgroud) 我从HTML5 Boilerplate中读到了这一行:
HTML Manifest files now use .appcache extension instead of .manifest, as per http://html5.org/r/5812.
我在http://html5.org/r/5812上看到了这个
Change the suggested extension for appcache manifests from .manifest to .appcache to avoid clashing with Microsoft's unregistered application/manifest type
这是我的问题.什么是Microsoft未注册的应用程序/清单类型以及它何时发生冲突?
我有这样的代码:
<a href="http://google.com" target="_blank">google</a>
<a href="http://gmail.com" target="_blank">gmail</a>
Run Code Online (Sandbox Code Playgroud)
每当我单击其中一个链接时,都会创建一个新窗口或选项卡.我希望链接只使用一个.
所以我改变了我的代码:
<a href="http://google.com" target="google">google</a>
<a href="http://gmail.com" target="google">gmail</a>
Run Code Online (Sandbox Code Playgroud)
有效!它会在第一次点击任一链接时创建一个新窗口,然后点击链接会出现在该窗口中.
我认为这很好,但我在W3C HTML 4规范中找不到相关内容.它是否有效且跨浏览器兼容?
我看到有人用MD5多次加密用户密码以提高安全性.我不确定这是否有效,但看起来并不好.那么,它有意义吗?
md5 cryptography password-hash cryptographic-hash-function pbkdf2
不可能@Value在静态变量上使用.
@Value("${some.value}")
static private int someValue;
static public void useValue() {
System.out.println(someValue);
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,0打印出来.那么什么是这个的好选择呢?
我们可以像下面那样推动分支机构的负责人
$ git push origin HEAD
Run Code Online (Sandbox Code Playgroud)
而且,我们可以使用@别名HEAD.
$ git show @
Run Code Online (Sandbox Code Playgroud)
那么为什么下面的命令会给我一个错误?
$ git push origin @
fatal: remote part of refspec is not a valid name in @
Run Code Online (Sandbox Code Playgroud) java ×4
spring ×2
alias ×1
anchor ×1
annotations ×1
assert ×1
assertion ×1
cryptographic-hash-function ×1
cryptography ×1
eclipse ×1
git ×1
git-push ×1
hibernate ×1
html ×1
html5 ×1
javascript ×1
md5 ×1
mocking ×1
mockito ×1
mysql ×1
nativequery ×1
offlineapps ×1
pbkdf2 ×1
spring-3 ×1
spring-mvc ×1
static ×1
unit-testing ×1