- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Spring MVC + Hibernate + JPA 应用程序。我有一个 defaultPersistance
单元,它是在 persistence.xml 中定义的:
<persistence-unit name="defaultPersistenceUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
<property name="hibernate.connection.url" value="jdbc:jtds:sqlserver://localhost:1433;databaseName=B3;" />
<property name="hibernate.connection.driver_class" value="net.sourceforge.jtds.jdbc.Driver" />
<property name="hibernate.connection.username" value="hiber1" />
<property name="hibernate.connection.password" value="hiber1" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
</properties>
</persistence-unit>
我在 mvc-dispatcher-servlet.xml 中连接了 entityManagerFactory
和 transactionManager
:
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
所以我的问题是:如何在运行时更改 hibernate 连接属性(例如 hibernate.connection.username)?
最佳答案
我会考虑在 persistence.xml
之外管理数据源并使用 UserCredentialsDataSourceAdapter
及其 setCredentialsForCurrentThread
方法。
围绕这些线的内容:
<bean id="targetDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"/>
<property name="url" value="jdbc:jtds:sqlserver://localhost:1433;databaseName=B3;" />
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter">
<property name="targetDataSource" ref="targetDataSource"/>
<property name="username" value="defaultUser"/>
<property name="password" value="mypassword" />
</bean>
在您的 java 代码中,您将获得对 dataSource
的引用并调用 setCredentialsForCurrentThread(username,password)
。每次调用数据源 getConnection()
时,都会根据当前线程检查凭据,并使用这些凭据来获取连接。
关于java - 在运行时更改 persistenceUnit 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23863401/
我在调用 hentMeldinger() 时不断收到此错误; public class Kontroll { private EntityManagerFactory emf; Kon
我有一个项目使用另一个项目作为库,我在两个项目上都有 Spring 和 Hibernate,问题是我需要将类从我的第一个项目映射到我的第二个项目。 这是我得到的异常: Caused by: org.h
我想在我的应用程序中使用@PersistenceUnit 注释来创建应用程序管理的 EntityManager @PersistenceUnit(unitName="primary") private
我正在使用 jpa 和 spring,并在以下代码中出现错误; @PersistenceContext protected EntityManager entityManager; enti
可以@PersistenceUnit在JPA中与JTA一起使用?如果是这样,怎么可能? 每http://tomee.apache.org/jpa-concepts.html : With [...]
我正在开发一种使用 JPA2 处理某些数据库实体的工具,并将 hibernate 作为持久性提供程序。该工具是通用的并且与任何业务逻辑无关,它需要一个通用的 Class参数来完成它的业务,其中 Tas
我有一个 Spring MVC + Hibernate + JPA 应用程序。我有一个 defaultPersistance 单元,它是在 persistence.xml 中定义的: org
在几个项目中我已经成功使用 @PersistenceUnit(unitName = "MiddlewareJPA") EntityManagerFactory emf; ... EntityManag
有谁知道如何通过 @PersistenceUnit 注释通过构造函数设置 EntityManagerFactory 。我可以通过xml配置来做到这一点。但是我不知道对应的注解配置。
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: Sharing a persistence unit across components in a .ear fil
我正在使用 spring、jpa、hibernate 和 mysql 数据库开始一个新项目,但我有此配置有问题。 我开发了一个类似的架构,但我从未创建过它,我正在与之抗争。 这是我的 dispatch
通过使用 CDI,如下面的代码所示: @PersistenceUnit EntityManagerFactory emf; 我想注入(inject)我的 hibernate EntityManager
我使用 EclipseLink 作为我的 JPA 提供程序。我的应用程序工作正常,但最近在部署应用程序时出现错误,并且它不再工作。我是 JPA 新手,尽管我已阅读日志,但我无法理解发生了什么。它与 E
我是 JPA 新手,刚开始使用 EclipseLink。在教程的帮助下,我开始创建我的第一个 JPA 项目,它包含一个实体(使用 JPA 工具自动创建),一个简单的主类,触发最基本的选择查询。但是,当
如果我使用以下内容 @PersistenceUnit(unitName="mongo") EntityManagerFactory emf; EntityManager em = emf.create
我正在研究 REST 服务器并同时学习 EJB\hibernate。当服务调用 DAO 时,我遇到了一个问题,即它找不到我的持久单元。 @Stateless public class HotelDAO
我正在尝试使用 Sun Java PetStore Demo。 在 CatalogFacade 类中有以下注释: @PersistenceUnit(unitName="myPetStorePU") p
我在两个实体之间有单向关系: *@Entity public class XXX{ @Id private Long Id; @OneToOne(fetch = FetchType.LAZ
我正在尝试使用 Sun Java PetStore Demo。 在 CatalogFacade 类中有以下注释: @PersistenceUnit(unitName="myPetStorePU") p
我知道 StackOverflow 中还有关于此主题的其他问题,我阅读了它们,但我无法摆脱这个错误。 我正在 JBoss-as-7.1.1 Final 中部署我的 Web 应用程序。这是一个 Mave
我是一名优秀的程序员,十分优秀!