Java 如何解决精简驱动程序中不支持的空用户或密码

Java 如何解决精简驱动程序中不支持的空用户或密码,java,hibernate,seam,jta,Java,Hibernate,Seam,Jta,在seam中使用hibernate配置配置jpa时,瘦驱动程序不支持空用户或密码 components.xml <persistence:hibernate-session-factory name="hibernateSessionFactory" cfg-resource-name="hibernate.cfg.xml"/> <persistence:managed-hibernate-session name="session" a

在seam中使用hibernate配置配置jpa时,瘦驱动程序不支持空用户或密码

components.xml

<persistence:hibernate-session-factory   name="hibernateSessionFactory" cfg-resource-name="hibernate.cfg.xml"/>
<persistence:managed-hibernate-session name="session" 
                 auto-create="true"
 session-factory-jndi-name="java:/mobeeSessionFactory"/>

hibernate.cfg.xml

<hibernate-configuration>
 <session-factory name="java:/mobeeSessionFactory">
  <property name="hibernate.connection.pool_size">10</property>
  <property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
  <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:mobee</property>
  <property name="hibernate.connection.username">mobeemigrate</property>
  <property name="hibernate.show_sql">true</property>
 <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
  <property name="hibernate.format_sql">true</property>

  <property name="hibernate.default_entity_mode">pojo</property>
  <property name="hibernate.session_factory_name">java:/mobeeSessionFactory</property>
  <property name="hibernate.connection.datasource">mobeeadminDataSource</property>
  <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
  <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
  <property name="hibernate.transaction.auto_close_session">false</property>
  <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
  <property name="hibernate.transaction.flush_before_completion">true</property>
  <property name="hibernate.hbm2ddl.auto">create</property>
  <!-- Here are the mappings -->
  <mapping class="tempCustomers" package="com.manam.mobee.persist.entity.TempCustomers"/>
  <mapping class="tempAccounts" package="com.manam.mobee.persist.entity.TempAccounts"/>
 </session-factory>
</hibernate-configuration>

10
oracle.jdbc.OracleDriver
jdbc:oracle:thin:@localhost:1521:mobee
mobeemigrate
真的
org.hibernate.dialen.oraclealent
真的
波乔
java:/mobeeSessionFactory
mobeeadminDataSource
org.hibernate.transaction.JBossTransactionManagerLookup
org.hibernate.transaction.JTATransactionFactory
假的
org.hibernate.cache.HashtableCacheProvider
真的
创造
projectname-ds.xml

<local-tx-datasource>
  <jndi-name>mobeeadminDataSource</jndi-name>
  <use-java-context>false</use-java-context>
  <connection-url>jdbc:oracle:thin:@localhost:1521:mobee</connection-url>
  <driver-class>oracle.jdbc.OracleDriver</driver-class>
  <user-name>mobeemigrate</user-name>
  <password>mobeemigrate</password>
 </local-tx-datasource>

mobeeadminDataSource
假的
jdbc:oracle:thin:@localhost:1521:mobee
oracle.jdbc.OracleDriver
mobeemigrate
mobeemigrate

密码在
hibernate.cfg.xml
中丢失

要修复此问题,请在hibernate.cfg.xml文件中包含以下内容,如下所示:

  <property name="hibernate.connection.password">mobeemigrate</property>
mobeemigate
hibernate.cfg.xml

<hibernate-configuration>
 <session-factory name="java:/mobeeSessionFactory">
  <property name="hibernate.connection.pool_size">10</property>
  <property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
  <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:mobee</property>
  <property name="hibernate.connection.username">mobeemigrate</property>
  <property name="hibernate.connection.password">mobeemigrate</property>
  <property name="hibernate.show_sql">true</property>
 <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
  <property name="hibernate.format_sql">true</property>

  <property name="hibernate.default_entity_mode">pojo</property>
  <property name="hibernate.session_factory_name">java:/mobeeSessionFactory</property>
  <property name="hibernate.connection.datasource">mobeeadminDataSource</property>
  <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
  <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
  <property name="hibernate.transaction.auto_close_session">false</property>
  <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
  <property name="hibernate.transaction.flush_before_completion">true</property>
  <property name="hibernate.hbm2ddl.auto">create</property>
  <!-- Here are the mappings -->
  <mapping class="tempCustomers" package="com.manam.mobee.persist.entity.TempCustomers"/>
  <mapping class="tempAccounts" package="com.manam.mobee.persist.entity.TempAccounts"/>
 </session-factory>
</hibernate-configuration>

10
oracle.jdbc.OracleDriver
jdbc:oracle:thin:@localhost:1521:mobee
mobeemigrate
mobeemigrate
真的
org.hibernate.dialen.oraclealent
真的
波乔
java:/mobeeSessionFactory
mobeeadminDataSource
org.hibernate.transaction.JBossTransactionManagerLookup
org.hibernate.transaction.JTATransactionFactory
假的
org.hibernate.cache.HashtableCacheProvider
真的
创造

您的hibernate.cfg.xml具有以下属性:

<property name="hibernate.connection.username">mobeemigrate</property>
mobeemigate
但不是对应的密码:

<property name="hibernate.connection.password">mobeemigrate</property>
mobeemigate

thanx问题已经解决,但我还需要一个疑问。我提到hibernate.hbm2ddl.auto是创建的,但当我启动时,数据库中没有创建多个表映射实体?我没有发现您的配置有任何问题,但我不熟悉seam。确定如何调用hibernate注释实体(@entity tempcusters.java和tempcounts.java)在hibernate.cfg.xmlthanx中,它的响应是有效的,但我还需要一个疑问。我提到hibernate.hbm2ddl.auto是创建的,但当我启动时,数据库中没有创建服务器表映射实体?