【问题标题】:database schema name in persistence.xmlpersistence.xml 中的数据库模式名称
【发布时间】:2015-01-08 11:40:54
【问题描述】:

我想知道在 persistence.xml 文件中提及数据库模式名称的方法是什么。

这是我的文件。

<?xml version="1.0" encoding="UTF-8" ?>
<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_1_0.xsd"
             version="1.0">
    <persistence-unit name="ORDER"
                      transaction-type="RESOURCE_LOCAL">
        <provider>
        org.eclipse.persistence.jpa.PersistenceProvider
    </provider>
        <properties>
            <property name="javax.persistence.jdbc.driver"
                      value="oracle.jdbc.OracleDriver"/>
            <property name="javax.persistence.jdbc.url"
                      value="xyzurl"/>
            <property name="javax.persistence.jdbc.password" value="YYYYY"/>
            <property name="javax.persistence.jdbc.user" value="XXXX"/>
        </properties>
    </persistence-unit>
</persistence>

架构名称是 testdta。

任何输入都会有所帮助。

【问题讨论】:

  • 你能说出这样做的目的吗?谢谢
  • 数据库不称为模式。
  • @Kamran Amini 真的吗??
  • @Multisync 抱歉:) 模式是模式。数据库就是数据库。我做了一个噩梦!

标签: java sql jpa persistence


【解决方案1】:

看看这个链接。本页介绍了如何为 Oracle 数据库创建 persistence.xml。

https://docs.oracle.com/cd/E16439_01/doc.1013/e13981/cfgdepds005.htm

这是toplink.jdbc.user 属性的示例:(当然是在 TopLink 中!)

<properties>
    <property name="toplink.logging.level" value="INFO"/>
    <property name="toplink.jdbc.driver" value="oracle.jdbc.OracleDriver"/>
    <property name="toplink.jdbc.url" value="jdbc:oracle:thin:@myhost:l521:MYSID"/>
    <property name="toplink.jdbc.password" value="tiger"/>
    <property name="toplink.jdbc.user" value="scott"/>
</properties>

这里,scott 是用于连接数据库的架构。

【讨论】:

  • 此属性定义数据源/服务而不是架构。
  • 最后的MYSID,告诉驱动程序应该选择哪个SID。每个 Oralce DB 都有一个唯一的 SID。
  • 是的,它不是架构。
  • 是的,很抱歉我误以为数据库是模式 :D 但是我们不讨论persistence.xml 中的模式,对吗?他的意思是用户,对!
  • 我们确实在 XML 中的用户属性中配置它们。 asktom.oracle.com/pls/asktom/…
【解决方案2】:

javax.persistence.jdbc.user 属性中指定您的架构名称。

<property name="javax.persistence.jdbc.user" value="testdta"/>
<property name="javax.persistence.jdbc.password" value="schema password"/>

如果您不知道,请在此处指定数据源 URI:

<property name="javax.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:service"/>

【讨论】:

    猜你喜欢
    • 2014-02-03
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多