﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Kevin.Zhong-随笔分类-Jpa</title><link>http://www.blogjava.net/sway/category/35107.html</link><description>彪悍的人生不需要解释，彪悍的代码不需要注释。</description><language>zh-cn</language><lastBuildDate>Thu, 23 Oct 2008 02:15:03 GMT</lastBuildDate><pubDate>Thu, 23 Oct 2008 02:15:03 GMT</pubDate><ttl>60</ttl><item><title>JPA2级缓存的配置</title><link>http://www.blogjava.net/sway/archive/2008/10/23/236094.html</link><dc:creator>in.Zhong</dc:creator><author>in.Zhong</author><pubDate>Thu, 23 Oct 2008 01:55:00 GMT</pubDate><guid>http://www.blogjava.net/sway/archive/2008/10/23/236094.html</guid><wfw:comment>http://www.blogjava.net/sway/comments/236094.html</wfw:comment><comments>http://www.blogjava.net/sway/archive/2008/10/23/236094.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sway/comments/commentRss/236094.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sway/services/trackbacks/236094.html</trackback:ping><description><![CDATA[1.加入hibernate－memcached.jar及相关jar包（具体见http://code.google.com/p/hibernate-memcached/）<br />
<br />
2.在applicationContext.xml中配置<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">............</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">bean&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="entityManagerFactory"</span><span style="color: #ff0000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class</span><span style="color: #0000ff;">="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="dataSource"</span><span style="color: #ff0000;">&nbsp;ref</span><span style="color: #0000ff;">="dataSource"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="jpaVendorAdapter"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">bean<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="showSql"</span><span style="color: #ff0000;">&nbsp;value</span><span style="color: #0000ff;">="${jpa.showSql}"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="generateDdl"</span><span style="color: #ff0000;">&nbsp;value</span><span style="color: #0000ff;">="${jpa.generateDdl}"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="database"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">util:constant<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff0000;">static-field</span><span style="color: #0000ff;">="org.springframework.orm.jpa.vendor.Database.ORACLE"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">property</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">bean</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">property</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="jpaProperties"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">props</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">prop&nbsp;</span><span style="color: #ff0000;">key</span><span style="color: #0000ff;">="hibernate.max_fetch_depth"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">3</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">prop</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">prop&nbsp;</span><span style="color: #ff0000;">key</span><span style="color: #0000ff;">="hibernate.cache.use_second_level_cache"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;true<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">prop</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">prop&nbsp;</span><span style="color: #ff0000;">key</span><span style="color: #0000ff;">="hibernate.cache.use_structured_entries"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;true<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">prop</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">prop&nbsp;</span><span style="color: #ff0000;">key</span><span style="color: #0000ff;">="hibernate.cache.use_query_cache"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">true</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">prop</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">prop&nbsp;</span><span style="color: #ff0000;">key</span><span style="color: #0000ff;">="hibernate.cache.provider_class"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;com.googlecode.hibernate.memcached.MemcachedCacheProvider<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">prop</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">prop&nbsp;</span><span style="color: #ff0000;">key</span><span style="color: #0000ff;">="hibernate.memcached.servers"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10.1.19.132:33001&nbsp;10.1.19.132:33002&nbsp;10.1.19.132:33003<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">prop</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">props</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">property</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">bean</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
............</span><span style="color: #000000;"><br />
</span></div>
<br />
3.在实体类上配置缓存策略<br />
如@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)&nbsp;&nbsp;&nbsp; <br />
<br />
下面这几种情况就<span style="color: red;">不适合</span>加载到二级缓存中:
<br />
&nbsp; 1.经常被修改的数据
<br />
&nbsp; 2.绝对不允许出现并发访问的数据
<br />
&nbsp; 3.与其他应用共享的数据
<br />
&nbsp; 下面这己种情况<span style="color: red;">合适</span>加载到二级缓存中:
<br />
&nbsp; 1.数据更新频率低
<br />
&nbsp; 2.允许偶尔出现并发问题的非重要数据
<br />
&nbsp; 3.不会被并发访问的数据
<br />
&nbsp; 4.常量数据
<br />
&nbsp; 5.不会被第三方修改的数据
<br />
<br />
<img src ="http://www.blogjava.net/sway/aggbug/236094.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sway/" target="_blank">in.Zhong</a> 2008-10-23 09:55 <a href="http://www.blogjava.net/sway/archive/2008/10/23/236094.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JPA的@Version标记的意义</title><link>http://www.blogjava.net/sway/archive/2008/10/10/233569.html</link><dc:creator>in.Zhong</dc:creator><author>in.Zhong</author><pubDate>Fri, 10 Oct 2008 05:05:00 GMT</pubDate><guid>http://www.blogjava.net/sway/archive/2008/10/10/233569.html</guid><wfw:comment>http://www.blogjava.net/sway/comments/233569.html</wfw:comment><comments>http://www.blogjava.net/sway/archive/2008/10/10/233569.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sway/comments/commentRss/233569.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sway/services/trackbacks/233569.html</trackback:ping><description><![CDATA[关于jpa的@Version标记，看文档时愣没看懂。在这里摘抄个例子。<br />
<br />
&nbsp;&nbsp; 例：假设当前数据的版本为1，余额为100<br />
<br />
a. 操作员A此时将其读出(version=1),并从其账户余额中扣除$50(100-50)。<br />
<br />
b. 在操作员A操作的过程中，操作员B也要读入此用户信息(version=1),并从其账户余额中扣除$20(100-20)。<br />
<br />
c. 操作员A完成修改工作，将数据版本号加1(version=2)，连同余额$50一并提交数据库更新，此时由于提交数据版本大于数据库记录的当前版本，数据被更新，数据库记录版本更新为2。<br />
<br />
d. 操作员B完成操作，也将版本号加1(version=2)试图向数据库提交数据$80，但此时比对数据库记录版本时发现，操作员B提交的数据版本号为2，数据库记录当前版本也为2，不满足&#8220;提交版本必须大于记录当前版本才能执行更新&#8221;的乐观锁策略，因此，操作员B的操作被驳回。
<img src ="http://www.blogjava.net/sway/aggbug/233569.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sway/" target="_blank">in.Zhong</a> 2008-10-10 13:05 <a href="http://www.blogjava.net/sway/archive/2008/10/10/233569.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jpa的诡异异常</title><link>http://www.blogjava.net/sway/archive/2008/10/10/233537.html</link><dc:creator>in.Zhong</dc:creator><author>in.Zhong</author><pubDate>Fri, 10 Oct 2008 03:12:00 GMT</pubDate><guid>http://www.blogjava.net/sway/archive/2008/10/10/233537.html</guid><wfw:comment>http://www.blogjava.net/sway/comments/233537.html</wfw:comment><comments>http://www.blogjava.net/sway/archive/2008/10/10/233537.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sway/comments/commentRss/233537.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sway/services/trackbacks/233537.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">org.springframework.beans.factory.BeanCreationException:&nbsp;Error&nbsp;creating&nbsp;bean&nbsp;with&nbsp;name&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">entityManagerFactory</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;defined&nbsp;in&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;path&nbsp;resource&nbsp;[com</span><span style="color: #000000;">/</span><span style="color: #000000;">jl</span><span style="color: #000000;">/</span><span style="color: #000000;">framework</span><span style="color: #000000;">/</span><span style="color: #000000;">identity</span><span style="color: #000000;">/</span><span style="color: #000000;">idm</span><span style="color: #000000;">/</span><span style="color: #000000;">service</span><span style="color: #000000;">/</span><span style="color: #000000;">spring</span><span style="color: #000000;">/</span><span style="color: #000000;">conf</span><span style="color: #000000;">/</span><span style="color: #000000;">applicationContext.xml]:&nbsp;Invocation&nbsp;of&nbsp;init&nbsp;method&nbsp;failed;&nbsp;nested&nbsp;exception&nbsp;is&nbsp;java.lang.IllegalStateException:&nbsp;No&nbsp;data&nbsp;type&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;node:&nbsp;org.hibernate.hql.ast.tree.IdentNode<br />
&nbsp;\</span><span style="color: #000000;">-</span><span style="color: #000000;">[IDENT]&nbsp;IdentNode:&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">out</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;{originalText</span><span style="color: #000000;">=</span><span style="color: #000000;">out}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:</span><span style="color: #000000;">1337</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:</span><span style="color: #000000;">473</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$</span><span style="color: #000000;">1</span><span style="color: #000000;">.run(AbstractAutowireCapableBeanFactory.java:</span><span style="color: #000000;">409</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;java.security.AccessController.doPrivileged(Native&nbsp;Method)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:</span><span style="color: #000000;">380</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.springframework.beans.factory.support.AbstractBeanFactory$</span><span style="color: #000000;">1</span><span style="color: #000000;">.getObject(AbstractBeanFactory.java:</span><span style="color: #000000;">264</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:</span><span style="color: #000000;">221</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:</span><span style="color: #000000;">261</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:</span><span style="color: #000000;">185</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:</span><span style="color: #000000;">164</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:</span><span style="color: #000000;">423</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:</span><span style="color: #000000;">729</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:</span><span style="color: #000000;">381</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.springframework.context.support.ClassPathXmlApplicationContext.</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">init</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(ClassPathXmlApplicationContext.java:</span><span style="color: #000000;">139</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.springframework.context.support.ClassPathXmlApplicationContext.</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">init</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(ClassPathXmlApplicationContext.java:</span><span style="color: #000000;">93</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.jl.framework.identity.idm.service.spring.DIContainerLoader.</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">init</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(DIContainerLoader.java:</span><span style="color: #000000;">42</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.jl.framework.identity.idm.service.spring.DIContainerLoader.instance(DIContainerLoader.java:</span><span style="color: #000000;">51</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.jl.framework.identity.idm.service.spring.DIContainerLoader.getInstance(DIContainerLoader.java:</span><span style="color: #000000;">46</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.jl.framework.identity.idm.service.ContainerLoaderFactory.getContainerLoader(ContainerLoaderFactory.java:</span><span style="color: #000000;">25</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.jl.framework.identity.idm.dao.DaoServiceLocator.getMenuItemDao(DaoServiceLocator.java:</span><span style="color: #000000;">103</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.jl.framework.identity.idm.Menu.getMenuItemDao(Menu.java:</span><span style="color: #000000;">61</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.jl.framework.identity.idm.Menu.getRoot(Menu.java:</span><span style="color: #000000;">69</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;com.jl.framework.identity.idm.MenuTest.testGetRoot(MenuTest.java:</span><span style="color: #000000;">36</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;sun.reflect.NativeMethodAccessorImpl.invoke0(Native&nbsp;Method)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;sun.reflect.NativeMethodAccessorImpl.invoke(Unknown&nbsp;Source)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown&nbsp;Source)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;java.lang.reflect.Method.invoke(Unknown&nbsp;Source)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:</span><span style="color: #000000;">99</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:</span><span style="color: #000000;">81</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:</span><span style="color: #000000;">34</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:</span><span style="color: #000000;">75</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:</span><span style="color: #000000;">45</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:</span><span style="color: #000000;">66</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:</span><span style="color: #000000;">35</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.junit.internal.runners.TestClassRunner$</span><span style="color: #000000;">1</span><span style="color: #000000;">.runUnprotected(TestClassRunner.java:</span><span style="color: #000000;">42</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:</span><span style="color: #000000;">34</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:</span><span style="color: #000000;">52</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:</span><span style="color: #000000;">38</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:</span><span style="color: #000000;">38</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:</span><span style="color: #000000;">460</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:</span><span style="color: #000000;">673</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:</span><span style="color: #000000;">386</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:</span><span style="color: #000000;">196</span><span style="color: #000000;">)<br />
Caused&nbsp;by:&nbsp;java.lang.IllegalStateException:&nbsp;No&nbsp;data&nbsp;type&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;node:&nbsp;org.hibernate.hql.ast.tree.IdentNode<br />
&nbsp;\</span><span style="color: #000000;">-</span><span style="color: #000000;">[IDENT]&nbsp;IdentNode:&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">out</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;{originalText</span><span style="color: #000000;">=</span><span style="color: #000000;">out}</span></div>
<span style="font-size: 10pt;"><span style="font-size: 12pt;"><br />
<span style="font-family: 宋体;"><span style="font-family: Verdana;"><span style="font-family: Courier;"><span style="font-family: Comic Sans MS;">遇到这种异常就要小心了,很可能是你的jsql的问题.经过查找发现某类下有如下语句<br />
@NamedQuery(name="getMenuItemRoot",query="SELECT <span style="color: red;"><strong>out </strong></span>FROM MenuItem mi WHERE mi.parent IS NULL")<br />
jpa可不知道这个out是干什么的.</span></span></span></span></span></span><span style="font-family: 宋体;"><span style="font-family: Verdana;"><span style="font-family: Courier;">
</span></span></span>
<img src ="http://www.blogjava.net/sway/aggbug/233537.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sway/" target="_blank">in.Zhong</a> 2008-10-10 11:12 <a href="http://www.blogjava.net/sway/archive/2008/10/10/233537.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>