在seam的使用过程中,调用entitymanager的方法为:
但在实际调试过程中,em经常为空,造成在XHTML文件中的变量在render时出现null pointer的错误,后来google了一下,有文章说,说EntityManager变量的名称em必须与components.xml中定义的一样才行:
就是说定义为em就是空,定义为entityManager时就可以,试了一下还是不行。后来自己经过调试,才搞清楚原因,在一个bean中调用EntityManager,不能在其bean构造器中调用,而是在其初始化后才能调用,否则就为空。
@PersistenceContext
EntityManager em;
但在实际调试过程中,em经常为空,造成在XHTML文件中的变量在render时出现null pointer的错误,后来google了一下,有文章说,说EntityManager变量的名称em必须与components.xml中定义的一样才行:
<persistence:managed-persistence-context name="entityManager" auto-create="true" persistence-unit-jndi-name="@puJndiName@"/>
就是说定义为em就是空,定义为entityManager时就可以,试了一下还是不行。后来自己经过调试,才搞清楚原因,在一个bean中调用EntityManager,不能在其bean构造器中调用,而是在其初始化后才能调用,否则就为空。