我正在使用spring数据jpa为我的服务实现多事务(数据库),带有两个持久的单元名。并在Jboss 6.4 EAP中部署
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
html" target="_blank">xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-3.1.xsd">
<context:annotation-config />
<tx:annotation-driven />
<context:component-scan base-package="com.test.demo.domain.service" />
<context:component-scan base-package="com.test.demo.domain" />
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="demo-domain" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"></bean>
</property>
<property name="persistenceProviderClass" value="org.hibernate.ejb.HibernatePersistence" />
</bean>
<bean id="entityManagerFactoryMeta"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="demo-meta" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"></bean>
</property>
<property name="persistenceProviderClass" value="org.hibernate.ejb.HibernatePersistence" />
</bean>
<bean id="persistenceExceptionTranslationPostProcessor"
class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
<qualifier value="demoadmin"/>
</bean>
<bean id="transactionManagerMeta" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactoryMeta" />
<qualifier value="demoappmeta"/>
</bean>
<jpa:repositories base-package="com.test.demo.domain.repository" />
</beans>
以下是我的服务详情
@Named(ServerConstants.SERVICE_DRAG_DROP)
**@Transactional("demoappmeta")**
public class DragDropService {
private static final Logger LOG = LoggerFactory.getLoggerFactory().getDomainLogger(ServerConstants.LOGGER_DOMAIN, DragDropService.class.toString());
@Inject
private TbAsmiDragDropRepository dragDropRepo;
public void createDragDrop(Message pMessage){
JSONObject requestJson = pMessage.getRequestObject().getRequestJson();
LOG.debug("inside createDragDrop() - Request : "+requestJson);
在Jboss中,我无法部署它,我遇到以下异常:
原因:org.springframework.beans.factory.BeanCreationException:无法自动装配字段:私有com.test.demo.domain.repository.TbAsmiDragDropRepositorycom.test.demo.domain.service.DragDropService.dragDropRepo;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为“tbAsmiDragDropRepository”的bean时出错:调用init方法失败;嵌套异常是java.lang.IllegalArgumentException:不是托管类型:类com.test.demo.domain.entity.TbAsmiDragDrop
如果有什么遗漏或不对劲请告知
我找到了解决方案,只需在中设置属性实体管理器工厂ref=“entitymanagerfactoryrefname”
<jpa:repositories base-package="com.test.demo.domain.repository" entity-manager-factory-ref="entitymanagerfactoryrefname" />
我有一个带有JPA存储库的简单Spring Boot项目,用于存储用于Spring Security的USER和AUTHORITIES信息,并存储LOG事件。项目进展顺利。现在我想添加涉及neo4j的额外功能。我将spring-data-neo4j添加到项目中,并为neo4j创建了配置。 以前,我有我的用户存储库来存储关系数据库中的用户信息 在用户服务Im上注入存储库 当我运行应用程序时,我得到一
我的应用程序有两个数据源。第一个数据源使用JdbcTemplate访问Postgre。第二个数据源使用Spring数据JPA访问CockroachDb。 所以我为这个数据源创建了两种配置。 除了具有空间数据的对象之外,坚持使用这两个数据源工作正常。当我试图保存空间数据到CockroachDb,我得到一个错误: Hibernate:选择geoobject0_. id为id1_2_0_,geoobje
我目前正在构建一个访问数据库的restful API(带有Spring Boot)。此应用程序最终将托管在服务器上。 我想做的事情: 配置多个用户的数据库,并为他们分配不同的权限到不同的表 根据调用的endpoint,使用特定用户在该函数中执行该查询 如何配置上述应用程序? 到目前为止,我找到的答案涉及到配置多个数据源,但是对于上面的应用程序,只有一个数据源,但是有多个用户。 我已经阅读了以下链接
我想让我的web应用程序使用mongodb和spring data multitenat。 基本上,我希望将所有实体(集合)复制到不同的数据库中。然后(基于一些规则,例如登录系统的用户),我想将一些实体实例(文档)存储到正确的数据库中。 例如,我有一个名为DBNameProviderService的服务。动态返回数据库名称的getDbName()。如何使用此服务动态选择正确的数据库? 编辑 抱歉,
一、Attach数据库: ATTACH DATABASE语句添加另外一个数据库文件到当前的连接中,如果文件名为":memory:",我们可以将其视为内存数据库,内存数据库无法持久化到磁盘文件上。如果操作Attached数据库中的表,则需要在表名前加数据库名,如dbname.table_name。最后需要说明的是,如果一个事务包含多个Attached数据库操作,那么该事务仍然是原子的。见如下示例:
这篇主题描述Django 对多个数据库的支持。大部分Django 文档假设你只和一个数据库打交道。如果你想与多个数据库打交道,你将需要一些额外的步骤。 定义你的数据库 在Django中使用多个数据库的第一步是告诉Django 你将要使用的数据库服务器。这通过使用DATABASES 设置完成。该设置映射数据库别名到一个数据库连接设置的字典,这是整个Django 中引用一个数据库的方式。字典中的设置在