# JBoss und PostgreSQL DB



## spoon77 (5. Dez 2010)

Hallo zusammen,

ich möchte eine JBoss AS Server zusammen mit einer PostgreSQL Datenbank betreiben:

Die persistence.xml sieht folgendermaßen aus:

[JAVA=42]<?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="persunit" transaction-type="JTA">

		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<jta-data-source>java:/PostgresDS</jta-data-source>
		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
			<property name="hibernate.transaction.factory_class" value="org.hibernate.transaction.JTATransactionFactory"/>
            <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup"/>
			<property name="hibernate.hbm2ddl.auto" value="update" />
		</properties>

	</persistence-unit>
</persistence>
[/code]

und die postgres-ds.xml so

[JAVA=42]
<?xml version="1.0" encoding="UTF-8"?>  
 <datasources>  
     <local-tx-datasource>  
         <jndi-name>PostgresDS</jndi-name>  
         <connection-url>jdbcostgresql://127.0.0.1:5432/postgres</connection-url> 
         <driver-class>org.postgresql.Driver</driver-class>  
         <user-name>postgres</user-name>  
         <password>postgres1</password>  
     </local-tx-datasource>  
 </datasources>
[/code]


Die persistence.xml befindet sich im Meta-Ordner des EJB Projektes und die postgres-ds.xml liegt im Deploy Ordner des AS Servers.

In einem Stateless SB möchte ich per Annotation den Entity-Manager folgendermaßen benutzen:

```
@Stateless(name = "SbUrbmStammdaten")
@Remote(SbUrbmStammdatenRemote.class)
public class SbUrbmStammdaten implements SbUrbmStammdatenRemote {

	public static final String RemoteJNDIName =  SbUrbmStammdaten.class.getSimpleName() + "/remote";
	
   @PersistenceContext(unitName="persunit")
    private EntityManager entityManager;

......
```

Das Starten des AS-Servers schlägt aber leider mit folgender Fehlermeldung fehl:

```
Caused by: java.lang.IllegalArgumentException: Can't find a persistence unit named 'persunit' in AbstractVFSDeploymentContext@3346896
```

Hab ihr eine Idee was da falsch läuft


----------



## Gast2 (5. Dez 2010)

Ich schätze mal das Postgres ja auch verschiedene Schemas und Datenbanken in einer Serverinstanz unterstützt wird er da nicht finden auf welche Datenbank und welches Schema du dich da beziehst.


----------



## spoon77 (6. Dez 2010)

kannst du mir sagen wo und wie ich das Schema angebe


----------



## Gast2 (6. Dez 2010)

Hab leider keinerlei Ahnung von Hibernate...


----------

