g:elseifタグの前に

<g:if test="...">
...
</g:if>
<g:elseif test="...">
...
</g:elseif>

は問題ないのですが、

<g:if test="...">
...
</g:if>
<!-- コメント -->
<g:elseif test="...">
...
</g:elseif>

org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: Tag [elseif] cannot have non-whitespace characters directly preceding it.

って...コメントもダメなの...orz

XP祭り2007に参加してきました。

XP祭り2007に参加してきました。
参加してよかったです。特に、
・市谷さんの「なにかやってやろう」という情熱
・角野さんの「笑いをとろう」という情熱(^_^;)
ですかねぇ。
どのお方のお話もよかったんですが、市谷さんのお話が、僕の中でのベストセッションでした。
# 懇親会でお話ししたかったですが、人見知りなモンで(^_^;)

findAllメソッドに記述するQueryについて(2)

先程のエントリで、

if (!query.matches("from [" + clazz.getName() + "|" + shortName + "].*")) {
    throw new GrailsQueryException("Invalid query [" + query + "] for domain class [" + clazz + "]");
}

というソースの話をしましたが、よく考えれば、

from ordering where id = :id  -- "Ordering" -> "ordering"

も、同じ例外になるのでは...orz で、実際、なったりしました...orz

findAllメソッドに記述するQueryについて

findAllメソッドに、以下のようにQueryを指定してみました。

FROM Ordering WHERE id = :id

で、実行してみたら、

org.codehaus.groovy.grails.orm.hibernate.exceptions.GrailsQueryException: Invalid query [FROM Ordering WHERE id = :id] for domain class [class Ordering]

と、例外が...orz
で、org.codehaus.groovy.grails.orm.hibernate.metaclass.FindAllPersistentMethodクラスのソースを見たところ、

if (!query.matches("from [" + clazz.getName() + "|" + shortName + "].*")) {
    throw new GrailsQueryException("Invalid query [" + query + "] for domain class [" + clazz + "]");
}

と、ふざけたコードが...orz "from"で始まらないとダメなんて...orz