我正在使用seam与tomcate和icefaces问题是当我注入实体管理器在组件bean中它运作良好,但如果把它放在通用DAO它返回null我的代码是这样的:entitymanger在放入通用dao时返回null
此豆
@Scope(ScopeType.PAGE)
@Name("TestBean")
public class TestBean {
public void test(ActionEvent actionEvent) {
Roles entity = new Roles();
entity.setName("cons");
RolesDao dao = new RolesDao();
dao.emPrisit(entity);
}
}
DAO
public class RolesDao {
@In
EntityManager em;
public void emPrisit(Roles entity) {
em.persist(entity);
}
}
component.xml文件
<persistence:entity-manager-factory name="bookingDatabase"/>
<persistence:managed-persistence-context name="em"
auto-create="true"
entity-manager-factory="#{bookingDatabase}"/>
的persistence.xml
<persistence-unit name="bookingDatabase"
transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence </provider>
<jta-data-source>java:comp/env/AP</jta-data-source>
<properties>
<property name="transaction.flush_before_completion" value="true" />
<property name="transaction.factory_class"
value="org.hibernate.transaction.JDBCTransactionFactory" />
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<!--
<property name="hibernate.transaction.manager_lookup_class"
value="org.hibernate.transaction.JBossTransactionManagerLookup"/>
-->
</properties>
</persistence-unit>
,如果我在豆注入entitymanger不DAO运行状况良好的第二个问题,当我entitymanger之前添加此注释
@In
@PersistenceContext(type = PersistenceContextType.EXTENDED)
EntityManager em;
它给这个异常
caused by: java.lang.IllegalArgumentException: @PersistenceContext may only be used on session bean or message driven bean components: TestBean
at org.jboss.seam.Component.checkPersistenceContextForComponentType(Component.java:901)
at org.jboss.seam.Component.scanField(Component.java:877)
at org.jboss.seam.Component.initMembers(Component.java:557)
at org.jboss.seam.Component.<init>(Component.java:244)
at org.jboss.seam.Component.<init>(Component.java:205)
at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1186)
... 13 more
你使用哪个应用程序服务器? – 2010-09-28 14:07:14
tomcat6我删除@PersistenceContext(type = PersistenceContextType.EXTENDED) 我与cinversation的界限 – aatsy 2010-09-29 13:51:16