Difference between revisions of "JEE5 Sample"
(→Resourcen) |
(→persistence.xml) |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Download [http://www.claude-glauser.ch/j2ee/jee5sample/WebLearingPlatformEAR.zip NetBeans Projekt] | Download [http://www.claude-glauser.ch/j2ee/jee5sample/WebLearingPlatformEAR.zip NetBeans Projekt] | ||
+ | == JSF == | ||
+ | === EJB Injection === | ||
+ | Injection eines EJBs im WebLayer. name ist der JNDI-Name: | ||
+ | |||
+ | @EJB(name="QuestionBCBean") QuestionBCLocal bc; | ||
+ | |||
+ | Definition des Beans: | ||
+ | @Stateless(name="QuestionBCBean") | ||
+ | public class QuestionBCBean implements QuestionBCLocal { | ||
+ | |||
+ | == EJB3 == | ||
+ | === Injection === | ||
+ | Injection eines Entitymanagers in einem EJB3: | ||
+ | |||
+ | @PersistenceContext(unitName="WebLearingPlatformEAR-ejbPU") | ||
+ | protected EntityManager em; | ||
+ | |||
+ | == JPA == | ||
+ | |||
+ | === persistence.xml === | ||
+ | <source lang="xml"> | ||
+ | <?xml version="1.0" encoding="UTF-8"?> | ||
+ | <persistence version="1.0" 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"> | ||
+ | <persistence-unit name="WebLearingPlatformEAR-ejbPU" transaction-type="JTA"> | ||
+ | <provider>oracle.toplink.essentials.PersistenceProvider</provider> | ||
+ | <jta-data-source>jdbc/sample</jta-data-source> | ||
+ | <exclude-unlisted-classes>false</exclude-unlisted-classes> | ||
+ | <properties> | ||
+ | <property name="toplink.ddl-generation" value="create-tables"/> | ||
+ | </properties> | ||
+ | </persistence-unit> | ||
+ | </persistence> | ||
+ | </source> | ||
+ | |||
+ | === Bikirektionale One To Many Beziehung === | ||
+ | |||
+ | In der Klasse Question.java | ||
+ | <source lang="java5"> | ||
+ | @OneToMany(mappedBy="question", cascade = {CascadeType.PERSIST, CascadeType.MERGE} ) | ||
+ | private List<QuestionOption> options = new ArrayList<QuestionOption>(); | ||
+ | </source> | ||
+ | |||
+ | In der Klasse QuestionOption.java | ||
+ | |||
+ | |||
+ | <source lang="java5"> | ||
+ | @ManyToOne(optional=false, fetch = FetchType.EAGER) | ||
+ | @JoinColumn(name="questionid", nullable=false) | ||
+ | private Question question; | ||
+ | </source> | ||
== Resourcen == | == Resourcen == | ||
− | * [Java Server Faces] | + | * [[Java Server Faces]] |
+ | * [[Log4J]] |
Latest revision as of 22:41, 16 April 2009
Download NetBeans Projekt
Contents
JSF
EJB Injection
Injection eines EJBs im WebLayer. name ist der JNDI-Name:
@EJB(name="QuestionBCBean") QuestionBCLocal bc;
Definition des Beans:
@Stateless(name="QuestionBCBean") public class QuestionBCBean implements QuestionBCLocal {
EJB3
Injection
Injection eines Entitymanagers in einem EJB3:
@PersistenceContext(unitName="WebLearingPlatformEAR-ejbPU") protected EntityManager em;
JPA
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" 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">
<persistence-unit name="WebLearingPlatformEAR-ejbPU" transaction-type="JTA">
<provider>oracle.toplink.essentials.PersistenceProvider</provider>
<jta-data-source>jdbc/sample</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="toplink.ddl-generation" value="create-tables"/>
</properties>
</persistence-unit>
</persistence>
Bikirektionale One To Many Beziehung
In der Klasse Question.java
@OneToMany(mappedBy="question", cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
private List<QuestionOption> options = new ArrayList<QuestionOption>();
In der Klasse QuestionOption.java
@ManyToOne(optional=false, fetch = FetchType.EAGER)
@JoinColumn(name="questionid", nullable=false)
private Question question;