persistence.xml

enrix

Mitglied
Hallo, ich habe ein Verständnisproblem mit java persistence. Ich möchte eine Datenbank einrichten mit einer EntityBean. Meine Frage bezieht sich nun auf das Erzeugen dieser Datenbank. Benötigt die EntityBean eine separate SQL-Datenbank oder übernimmt das intern der EntityManager? Wenn eine separate SQL Datenbank in die Gechäftslogik eingegliedert werden muss, wie kann ich das in der persitence.xml realisieren?
 
Nein, du brauchst keine weitere DB.

ich habe das folgendermassen. Frag mich aber nicht mehr nach Details,ich hatte Hilfe *g*

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"
	version="1.0"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
	<persistence-unit name="PROJECT/Datasource">
		<jta-data-source>java:/jdbc/project/Datasource</jta-data-source>
		<class>path.MyEntity1</class>		
		<class>path.MyEntity2</class>		
		<exclude-unlisted-classes />
		<properties>
			<property name="hibernate.hbm2ddl.auto" value="validate" />
			<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />
		</properties>
	</persistence-unit>
</persistence>

Dazu gibts noch ein dataSources-ds.xml
XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE server PUBLIC "-//JBoss//DTD MBean Service 4.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-service_4_0.dtd">
<datasources>
	<local-tx-datasource>
		<jndi-name>jdbc/project/Datasource</jndi-name>
		<conn-config-propertes-file>db.properties</conn-config-propertes-file>
		<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
		<min-pool-size>1</min-pool-size>
		<max-pool-size>10</max-pool-size>
		<prepared-statement-cache-size>4</prepared-statement-cache-size>
		<new-connection-sql>select count(*) from dual</new-connection-sql>
		<type-mapping>Oracle</type-mapping>
	</local-tx-datasource>
</datasources>

Und das notwendige property-file db.properties
Code:
userName=MY_USER
password=MY_PASSWORD
connectionURL=MY_CONNECTIONSTRING

Im Servcie musst du natürlich den EntityManager richtig initialisieren (Eintrag persistence-unit name im persistence.xml)
Java:
@PersistenceContext(unitName = "PROJECT/Datasource")
protected EntityManager em;
 
Zuletzt bearbeitet von einem Moderator:
danke sehr für die Hilfe. was mir noch unklar ist, wo liegt die dataSources-ds.xml und inwiefern greift man innerhalb der persistence.xml darauf zu?
beste Grüße
 

Neue Beiträge

Zurück