我正在编写一个使用JPA进行持久化的J2SE应用程序(无企业容器)。这是我的persistence.xml
:
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="dbstats">
<!-- TODO: why is this needed? -->
<class>dreambear.stats.data.GamePlayedEvent</class>
<class>dreambear.stats.data.HyveMemberCountPoll</class>
<class>dreambear.stats.data.ProfileCountPoll</class>
<class>dreambear.stats.data.UserSession</class>
<class>dreambear.stats.data.UsersOnlinePoll</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.max_fetch_depth" value="3" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<!-- TODO: externalize information -->
<property name="javax.persistence.jdbc.user" value="dbstats" />
<property name="javax.persistence.jdbc.password" value="*****" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://example.com/dbstats" />
</properties>
</persistence-unit>
</persistence>
这是一个静态文件,“编译”到应用程序中。但是,我需要提取凭据,以便可以在运行时从配置参数中加载它们,因为它们在应用程序的开发和实时版本方面是不同的。
我以默认方式加载持久性设置:
emf = Persistence.createEntityManagerFactory("dbstats");
如何在此设置中外部化凭据?我可以在运行时生成persistence.xml文件,但这有点hacky。
您可以在创建时提供其他属性EntityManagerFactory
:
Map<String, String> properties = new HashMap<String, String>();
properties.put("javax.persistence.jdbc.user", ...);
...
emf = Persistence.createEntityManagerFactory("dbstats", properties);
问题内容: 我想将一些hibernate配置放在属性文件中,以使其无需构建和部署就可编辑。 我尝试按照不带persistence.xml配置文件的Create JPAEntityManager中的说明解决问题 app.properties: persistence.xml 在初始化代码中,应用程序执行以下序列(查找属性), 但失败并显示错误消息: 有人知道我的配置可能出什么问题吗? 版本:JBos
问题内容: 我正在编写一个使用node.js访问本地文件系统的桌面Web应用程序。我目前可以使用node.js打开文件并将其复制到硬盘驱动器上的不同位置。我还想做的是允许用户使用与文件类型关联的应用程序打开特定文件。换句话说,如果用户在Windows环境中选择“ myfile.doc”,它将使用该文件启动MSWord。 我一定是术语的受害者,因为除了与node.js进行通信的子进程的生成之外,我什
问题内容: 在GWT应用程序中将 大量HTML外部化 的最佳方法是什么?我们有一个相当复杂的GWT应用程序,大约有30个“页面”;每个页面的底部都有一种指南,它是HTML标记的几段。我想外部化HTML,以使其尽可能保持“未转义”状态。 我知道并了解如何在GWT中使用 属性文件 ;这肯定比将内容嵌入Java类更好,但是对于HTML来说仍然很难看(您需要对所有内容都反斜杠,以及转义引号等)。 通常,这
我一直在努力从本地主机和外部连接到postgresql容器。 这是一个非常好的演示,它在https://linuxhint.com/postgresql_docker/.下面是docker compose。yml,postgres:12.2和pgadmin通过它进行集装箱化和运行。事实上,在运行docker compose之后。yml文件(由docker compose up-d编写)它们可以工作
我正在使用 TomEE 来部署一个 EAR 文件,其中包含一个 EJB JAR 和一个战争。 我想使用默认提供程序添加实体。我已经在tomee.xml创建了一个资源来使用MySQL DB。然后我想使用实体管理器,所以我尝试在EJB JAR META-INF目录中创建以下persistence.xml: 我的项目 一旦我添加此persistence.xml我在catalina.out得到以下异常,我
我有一个spring-boot应用程序,我想用外部配置文件运行它。当我将其作为jar(带有嵌入式servlet容器)运行时,一切都很好。但是我想在外部servlet容器(Tomcat)下运行它,这里我遇到了外部配置的问题。我尝试了@PropertySource,但在这种情况下,应用程序只获得war文件配置中没有的属性:外部配置不会覆盖内部配置。那么问题是:我如何配置外部配置,它将覆盖内部配置?