EF6 does not commit changes to Database

Hey Guys. 
Actually it looks quite simple, but I won't get it right. 
I try to save changes made to an object from an project-included DB using EntityFramework 6. the changes are correctly updated in the local objects instance and the EnitityEntry - State is set to "modified", but after calling Entities.SaveChanges()
(which does return 1 for one affected row, which is right) does not persist it to the DB, because after Project relaunch the Updated Data is gone. Please can you help me. 
Thanks in advance. 
Thomas
if (!HasEmptyFields())
Constants.ATLAS_ENTITIES.Entry(Selected).State = System.Data.Entity.EntityState.Modified;
else
Constants.ATLAS_ENTITIES.Entry(Selected).State = System.Data.Entity.EntityState.Added;
int result = Constants.ATLAS_ENTITIES.SaveChanges();
//result = 1 after execution which should be right

Hi Stocki44,
According to your description, the issue can be caused by that the setting of the Copy to Output Directory is not configured properly.  I recommend you choose the appropriate option according to the following link. Also you can review this
FAQ to troubleshoot this issue.
How to: Manage Local Data Files in Your Project:
http://msdn.microsoft.com/en-us/library/ms246989.aspx
Thanks,
Lydia Zhang

Similar Messages

  • Mailbox recipient does not have a mailbox database

    For one of our customers we are currently working on a prove of concept to implement on premise exchange servers. The problem mentioned below takes place on test servers.
    Server names and mail domain names are changed to generic values.
    On our on premise exchange environment we encounter the following problems when emailing to a specific email domain .
    Email to the domain companyname.com is placed in to the Unreachable Domain queue with the following error:
    Last Error: The mailbox recipient does not have a mailbox database
    Queue ID: SERVEREX01\Unreachable
    Recipients:  [email protected];2;3;The mailbox recipient does not have a mailbox database;1;<No Home Database>
    Situation:
    Customer uses a local Active Directory which contains all the user accounts and uses Office 365 / Exchange Online to provide these users with a mailbox. SSO between the local AD and O365 is provided by a third party identity provider.
     Dirsync is used to sync all user information from the local AD to O365 AD. This also includes the SMTP addresses users have on the Office 365 mailbox. In the local AD this information is saved is the proxyaddress attribute field and synced
    to O365. Office 365 uses the following mail domains for customer: companyname.com and companyname.onmicrosoft.com.
    Customer wants to use local on premise exchange servers for specific locations and users and doesn’t want to implement a hybrid exchange environment. Therefore we installed an Exchange 2010 Edge server in the DMZ and an Exchange 2013 MBX
    / CAS server in the server network. The Exchange 2013 server is installed in the same Active Directory as the one mentioned above. This environment uses the mail domain @central.companyname.com. The email environment is configured to only accept email for
    this domain.
    The email environment works fine. It can send and receive email internally and externally. There is only one issue. It’s impossible to send email from the on premise environment to office 365. The other way around (O365 to on premise)
    works fine.
    When an email is send to a companyname.com email address the exchange 2013 mail server places the email in the Unreachable Domain queue and reports 
    the following error:
    Last Error: The mailbox recipient does not have a mailbox database
    Queue ID: SERVEREX01\Unreachable
    Recipients:  [email protected];2;3;The mailbox recipient does not have a mailbox database;1;<No Home Database>
    This is caused by the fact that the @companyname.com email addresses are stored in the active directory exchange uses. We tried to fix this problem to create a internal and external relay domain with the appropriate send connector but
    this didn’t help.
    When we remove the proxyaddress attribute in the local active directory we are able to send email from the on premise exchange server to Office365. Removing the proxyaddresses is not a solution because these settings will be synced to
    Office 365 and users can’t receive email anymore in there cloud mailbox.
    It looks like the SMTP Categorizer first looks in active directory if the target email addresses is available. If so it will send the email to this users (but doesn’t have a mailbox server and mailbox database).
    Can we configure a working mailflow for email from on premise to Office 365 for @companyname.com addresses?

    Hi,
    Please try to set the target Address from the on premise AD account in ADSIedit to match the Cloud mailbox address, and then check the result.
    In addition, I recommend you post this thread on office 365 forum:
    http://community.office365.com/en-us/forums/default.aspx
    Hope this helps!
    Thanks.
    Niko Cheng
    TechNet Community Support

  • Component 0DAT (version A) does not exist in the database

    Dear experts
    i got this error.
    Component 0DAT (version A) does not exist in the database
    http://static.flickr.com/20/71394172_655d295b7f_o.jpg
    A SAP expert recommended
    "Use BC to activate the variable 0DAT from InfoObject 0CALDAY."
    but i can't find 0DAT.
    http://static.flickr.com/35/71390830_1049df5c3a_o.jpg
    my system is
    http://static.flickr.com/35/71390831_c837af0b47_o.jpg
    Thanks in advance
    David.kang
    Message was edited by: David Kang
    Message was edited by: David Kang

    Mentor Eugene,
    I guess the issues are related to "Sneak Preview version".
    well, instead of creating new 0DAT,
    i edited  the RSZGLOBV table with 0DAT that i created before.
    http://static.flickr.com/20/71437761_de16ddee16_o.jpg
    http://static.flickr.com/34/71437760_5236824cc2_o.jpg
    so two rows were changed. (from 6 to 4 ). 
    http://static.flickr.com/34/71437762_ed172b5577_o.jpg
    <b> What do you think it is okay ? </b>
    Finally, i can get rid of " Component 0DAT (version A) does not exist in the database " message.
    therefore i expect everything goes well.
    but ..
    "Information No texts were maintained in language E for variable 0DAT " comes up.
    Refer to the screenshot ( http://static.flickr.com/35/71439173_5c996d2111_o.jpg )
    [Query Designer screenshot ]
    http://static.flickr.com/34/71440191_b2a96a2ac4_o.jpg
    [Material Number Master Data ]
    http://static.flickr.com/34/71440190_a827c571ae_o.jpg
    [Original Data file ]
    http://safariexamples.informit.com/0201703661/IO_MAT_TEXT.csv
    http://safariexamples.informit.com/0201703661/IO_MAT_ATTR.csv
    mentor Eugene! thanks a lot.
    with kind regards
    David

  • This query does not exist in the database in the system

    I have created a query, but when I run it, I receive this error:
    You have attempted to open query 0DAT from the Query Designer.
    However, this query does not exist in the database in the system to which you have made a connection.
    Thanks
    Joseilton

    dear Joseilton,
    the variable 0DAT ist not in active version in your system.
    Use BC to activate the variable 0DAT from InfoObject 0CALDAY.
    or
    you have to create it in your system. therefor change the namespye to SAP-namespace (starting with 0). Open one Query in your system via RRMX and select CalenderDay to create a new variable.
    name:                0DAT
    descrition:          current calender day
    processed by:        SAP EXIT
    Characteristic:      Calender Day
    variable represents: Single Value
    best regards
    imberaureus

  • "Delivery 80001021 does not exist in the database or in the archive"

    hi,
              i am creating delivery document and save the delivery but while I'm checking the delivery doc no the system is showing following error "Delivery 80001021 does not exist in the database or in the archive"
    please help  
    thanks
    amit

    Amit,
    This problem is due to a program error. Talk to your devloper in order to solve it.
    I copy & paste the below text or solution from OSS 993005. Check that for complete info.
    Reason and Prerequisites
    The problem is caused by a program error.
    Solution
    Implement the attached correction instructions.
    After you confirm error message VL 559 "Delivery &1 does not exist in the database or in the archive", the system branches to either
    the inbound delivery (DISPLAY) that was displayed or changed beforehand, or
    the inbound delivery that has just been saved (also in display mode).
    If no delivery was saved before you switched to 'Other inbound delivery', the original transaction is started again (for example: VL31N).
    Regards,
    Sats.

  • User Profile Incremental Sync does not views changes in profiles.

    User Profile Incremental Sync does not views changes in profiles. I make full sync - all ok. then I change the phone number for example, and then start incremental sync and nothing moves to AD. 
    All the stages of FIM sync just state 0 records to process. Looks like it does not see the changes
    1.profile property is set up to sync with AD attribute (with EXPORT).
    2.no errors in Windows logs or FIM UI client, nor in sharepoint UI
    3. sharepoint server 2010 SP1, "CU June 2012"  14.0.6123.5002
    4. I have just reprovisioned sync service, set up AD connections and property-attribute relations. before
    there was this problem http://social.msdn.microsoft.com/Forums/en-US/cb2b8aeb-d1b6-49a6-a788-2491ca45308a/critical-error-6398-userprofileimportjob-problem-profile-sync-malfunction?forum=sharepointadminhttp://social.msdn.microsoft.com/Forums/en-US/cb2b8aeb-d1b6-49a6-a788-2491ca45308a/critical-error-6398-userprofileimportjob-problem-profile-sync-malfunction?forum=sharepointadmin,
    which I resolved by clearing timer service cache.
    Help with advice, urls or solurions please..

    Hi  VlH,
    According to your description, the issue can be caused by the Profile or Profile Values table.
    You can check the event log and ULS log to see detail error message.
    To check event log, click the Start button and type “Event Viewer” in the Search box.
    For SharePoint 2013, by default, ULS log is at      
    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\LOGS
    For your issue you can refer to the similar thread:
    http://social.technet.microsoft.com/Forums/sharepoint/en-US/bc3cd2ff-dc12-4223-a80b-e4cae616e861/user-profile-sync-doesnt-update-the-profiles-from-ad?forum=sharepointadminlegacy
    Also a good blog for user profile synchronization:
    http://www.harbar.net/articles/sp2010ups.aspx
    Best Regards,
    Eric
    Eric Tao
    TechNet Community Support

  • DBIF_RSQL_TABLE_UNKNOWN Table AUSPN_V1 does not exist in the database with ID R/3

    Hi All,
    We are encountering numerous short dumps in our system caused by Table AUSPN_V1 does not exist in the database with ID R/3.
    Can anyone advise how to solve the issue? Please find below portion of the short dumps.
    Category               ABAP Programming Error
    Runtime Errors         DBIF_RSQL_TABLE_UNKNOWN
    ABAP Program           SAPLCLVF
    Application Component  CA-CL-CL
    Date and Time          11.06.2014 12:08:28
    Short text
         A table is unknown or does not exist.
    What happened?
         Error in the ABAP Application Program
         The current ABAP program "SAPLCLVF" had to be terminated because it has
         come across a statement that unfortunately cannot be executed.
    What can you do?
         Note down which actions and inputs caused the error.
         To process the problem further, contact you SAP system
         administrator.
         Using Transaction ST22 for ABAP Dump Analysis, you can look
         at and manage termination messages, and you can also
         keep them for a long time.
    Error analysis
         A table is referred to in an SAP Open SQL statement that either does not
          exist or is unknown to the ABAP Data Dictionary.
         The table involved is "AUSPN_V1" or another table accessed in the statement.
    Source Code Extract
    Line  SourceCde
      104     if dupl = kreuz.
      105       insert auspc_v2 client specified from table auspcv2
      106                              accepting duplicate keys.
      107     else.
      108       insert auspc_v2 client specified from table auspcv2.
      109       if syst-subrc ne 0.
      110         message a585 with tabausp.
      111       endif.
      112     endif.
      113     refresh auspcv2.
      114   endif.
      115   read table auspcv3 index 1.
      116   if syst-subrc = 0.
      117     if dupl = kreuz.
      118       insert auspc_v3 client specified from table auspcv3
      119                              accepting duplicate keys.
      120     else.
      121       insert auspc_v3 client specified from table auspcv3.
      122       if syst-subrc ne 0.
      123         message a585 with tabausp.
      124       endif.
      125     endif.
      126     refresh auspcv3.
      127   endif.
      128   read table auspnv1 index 1.
      129   if syst-subrc = 0.
      130     if dupl = kreuz.
      131       insert auspn_v1 client specified from table auspnv1
      132                              accepting duplicate keys.
      133     else.
    >>>>>       insert auspn_v1 client specified from table auspnv1.
      135       if syst-subrc ne 0.
      136         message a585 with tabausp.
      137       endif.
      138     endif.
      139     refresh auspnv1.
      140   endif.
      141   read table auspnv2 index 1.
      142   if syst-subrc = 0.
      143     if dupl = kreuz.
      144       insert auspn_v2 client specified from table auspnv2
      145                              accepting duplicate keys.
      146     else.
      147       insert auspn_v2 client specified from table auspnv2.
      148       if syst-subrc ne 0.
      149         message a585 with tabausp.
      150       endif.
      151     endif.
      152     refresh auspnv2.
      153   endif.

    Hello
    Please check on transaction SE11 if this table exists and if it is active.
    Also, it may be a database issue. What is your database?
    BR
    Caetano

  • Table /xyz/abc does not exist in the database

    Hi experienced developers,
    I created two transparent tables in customer name space in development system, transport to quality together with program using the tables, everything fine, no errors, no warnings.
    Then transported to production. No errors, no warnings. Detailed protocol shows tables have been activated, no errors or warnings.
    First try to use the program gives a dump.
    line 1191:
    ""/xyz/abc" is not defined in the ABAP Dictionary as a table, p"
    "rojection view, or database view."
    Double-click on the table in program code gives a popup information message
    Table/xyz/abc does not exist in the
    database
    After acknowleding the popup, the usual dictionary entry is shown, table is active. Utilities -> database object -> Display leads to an empty screen
    Fields of /xyz/abc  
    Fld name Position Data Type Length Decimals Not null Default
      Indexes for /xyz/abcI
    Utilities -> runtime object -> Display shows  the table name followed by message
    There is no active runtime object for ...
    prededed by big icon exclamation mark.
    We created a new transport with exactly the same result.
    Basis people have no idea.
    The only thing special (but OK I think) is that the tables have key fields only.
    Database is Oracle 11.2.0.2.0, SAP ECC 6.0
    SAP_ABA     701     0008     SAPKA70108     Cross-Application Component
    SAP_BASIS     701     0008     SAPKB70108     SAP Basis Component
    PI_BASIS     701     0008     SAPK-70108INPIBASIS     Basis Plug-In
    ST-PI     2008_1_700     0005     SAPKITLRD5     SAP Solution Tools Plug-In
    SAP_BS_FND     701     0009     SAPK-70109INSAPBSFND     SAP Business Suite Foundation
    SAP_BW     701     0008     SAPKW70108     SAP Business Warehouse
    SAP_AP     700     0022     SAPKNA7022     SAP Application Platform
    WEBCUIF     700     0009     SAPK-70009INWEBCUIF     SAP WEBCUIF 700
    Yes I know, this is a DDIC forum question but I hope for more (experienced) readers here.
    Thank you all for any hint leading to a solution.
    Best regards
    Clemens Li

    Hi,
    thank you for the comments although it does not help.
    Here is the excerpt from productive system  import protocol (original table names replaced as customer requirement)
    *** Activate objects at level 1
    Too low cost (2.100) for parallel processing. Minimum: 6.000
    * Synchronous execution, no parallel processing *
    Activate table /xyz/abcd1
    Table /xyz/abcd1 was activated successfully
    Activate table /xyz/abcd2
    Table /xyz/abcd2 was activated successfully
    Synchronous processing: 4 sec., 2 objects, 2.100 costs
          Object Activation
    End phase  001 ***********************************************************
    Start phase 002 **********************************************************
          Statistics on Activated and Deleted Objects
    Number of objects to be activated............:  2
    Objects not activated........................:  0
    Activated objects with errors in dependencies:  0
    Objects activated with warning...............:  0
    Successfully activated objects...............:  2
    Number of objects to be deleted..............:  0
    Objects not successfully deleted.............:  0
    Successfully deleted objects.................:  0
    Tables/views with DROP/CREATE................:  0
    No. of them marked for DROP/CREATE: 0
    Not marked for DROP/CREATE: 0
    Number of nametabs to be deleted.............:  0
    Successfully deleted nametabs................:  0
    Nametabs that were not successfully deleted..:  0
          Statistics on Activated and Deleted Objects
    End phase  002 ***********************************************************
    =========================================================================
    Mass Activation
    =========================================================================
    Process..................: ENNIPROD_10
    Return code..............: 0
    Phase 001..................: 00:00:04 (Object Activation)
    Phase 002..................: < 1 sec. (Statistics on Activated and ...)
    Program runtime..........: 00:00:05
    Date, time...............: 08.03.2012, 16:30:43
    Program end==============================================================
    ABAP Dictionary: Activation
    End date and time : 20120308163043
    Ended with return code:  ===> 0 <===
    Actually, I don' understand it.
    Regards,
    Clemens

  • Table ZCHECKPICK does not exist in the database

    Hi!
       I have a table "ZCHECKPICK" no "MANDT - Client".
       Then I inserted a field "MANDT - Client"  and executed SE14 to "Active and adjust database".
        The table is now "does not exist in the database" but the struture is ok.
      What do i do to get the table in DataBase again?
    <Priority normalized in subject line>
    Edited by: Vinod Kumar on Sep 13, 2011 9:32 AM

    Dear Clayton,
    you can try a few things
    1) generate/activate the table prior to call SE14.
    2) after confirming that the table is well generated, go to SE14 and choose "Delete Database Table"
    3) then, still on SE14, click on "Activate and Adjust database"
    [http://imageshack.us/photo/my-images/607/20110913010743.jpg/]
    That should fix it.
    Kind Regards
    /Ricardo Quintas

  • Table Z does not exist in the database

    Hi,
    I have created a Z table and modified the DataType from NUMC to DEC and transported to Quality server
    and it is giving an information error that (Table Z does not exist in the database) then once again
    i modified the DataType from DEC to NUMC and transported to Quality server  then still it is giving an information error that
    (Table Z does not exist in the database) please help me out in this issue.
    Thanks in advance.

    Hi Jayanthumer,
    Have you Activated (Ctrl + F3) the Table in SE11 before transporting to Quality server ?
    Try to activate (Ctrl + F3) the table in SE11 of your Quality server...
    It may not be imported properly into Quality server...
    Ask to BASIS person about errors/warnings while importing to Quality Server..
    Also activate all dataelement and domains.... make sure all things are active...
    Once you activate it then it will create the table in database... till then there will be no table in database...
    Hope it will solve your problem..
    Thanks & Regards
    ilesh 24x7
    ilesh Nandaniya

  • Licecache table missing Table MATRIXINDE does not exist in the database wit

    Hello,
    We recently done a system copy of our APO system, everything went well. in case of Livecache there are 2 problem
    1) when we do the integration for LCA/LDA/LCA while we mentione the Livecache server it is not taking the host name , it is only picking the IP address of the livecache server. If we tried host name, it times out.
    2) once we give the IP address as livecache server  we can start the live cache server. Bure there is only two tables in it
    when we run
    transaction Livecache Check (/SAPAPO/OM03) we get the erro i.e.Table MATRIXINDE does not exist in the database with ID LCA
    runtime error DBIF_RSQL_TABLE_UNKNOWN
    When we look into the tables there are only 2 tables in it
    AAPSYSNAME
    LCA_WARNINGS
    when I compare with other system...it is missing a lots of other tables..
    We did re-initialized the livecache.
    Appreciate your help in this

    Hello Sudhir,
    1) Did you create the SAP ticket where this issue is reported?
    2) It's good to know more details about the APO version, liveCache/LCA versions on your
        source & target systems.
        What note or document did you follow to do a system copy of our APO system?
    3) Please pay attention to the recommendations in the SAP notes:::
             877203     Post steps after the Homogenous liveCache copy usi u2026
             886103    System Landscape Copy for SAP SCM
    Thank you and best regards, Natalia Khlopina

  • EJB 3.0 - JSF APPLICATION: DATA DOES NOT PERSIST TO THE DATABASE

    Hi,
    I am developing a JSF - EJB application and the data that I send from JSP Page through JSF Managed Bean --> Session Bean --> Java Persistence does not persist in database.
    Here is my scenario ( Iam using JDeveloper IDE to create this application) -
    SCENARIO START
    The scenario consists of two web pages, one enlisting all the users stored in the database, the other contains a form for adding a user
    1.) INDEX.JSP
    2.) ADDUSER.JSP
    Step 1: Create the USERS Table in database
    CREATE TABLE users
    user_id serial,
    username varchar(255) NOT NULL,
    first_name varchar(255),
    last_name varchar(255),
    password char(64) NOT NULL,
    CONSTRAINT pk_users PRIMARY KEY (user_id)
    Step 2: Add Database Connection To JDeveloper
    Go to Database Connection Navigator and create a New Database Connection using the Wizard
    Step 3: Create a New Application in JDeveloper and select JSF, EJB from Application Template
    Step 4: ENTITY BEAN - In the EJB Node Right Click and Select EJB à New Entites from Table (JPA/EJB3.0)
    Use The Wizard and create Entity Bean from Users Table which creates an Entity Bea POJO file as follows –
    User.java -
    package lux.domain;
    import java.io.Serializable;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.NamedQuery;
    import javax.persistence.SequenceGenerator;
    import javax.persistence.Table;
    @Entity
    @NamedQuery(name = "User.findAll", query = "select o from User o")
    @Table(name = "USERS")
    public class User implements Serializable {
    @Column(name="FIRST_NAME")
    private String firstName;
    @Column(name="LAST_NAME")
    private String lastName;
    @Column(nullable = false)
    private String password;
    @Column(nullable = false)
    private String username;
    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="users_seq_generator")
    @SequenceGenerator(name="users_seq_generator", sequenceName="users_user_id_seq")
    @Column(name="USER_ID", nullable = false)
    private Long userId;
    public User() {
    public String getFirstName() {
    return firstName;
    public void setFirstName(String firstName) {
    this.firstName = firstName;
    public String getLastName() {
    return lastName;
    public void setLastName(String lastName) {
    this.lastName = lastName;
    public String getPassword() {
    return password;
    public void setPassword(String password) {
    this.password = password;
    public String getUsername() {
    return username;
    public void setUsername(String username) {
    this.username = username;
    public Long getUserId() {
    return userId;
    public void setUserId(Long userId) {
    this.userId = userId;
    Step 5: STATELESS SESSION BEAN - In the EJB Node Right Click and Select EJB à New Entites from Table (JPA/EJB3.0)
    Again Right Click on Model and create Session Bean from Wizard which creates two files –
    UserDAOBean.java – Stateless Session Bean
    UserDAO.java – Local Interface
    package lux.facade;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.util.List;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import javax.persistence.Query;
    import lux.domain.User;
    @Stateless(name="UserDAO")
    public class UserDAOBean implements UserDAO {
    @PersistenceContext(unitName="Model")
    private EntityManager em;
    public UserDAOBean() {
    public User getUser(int UserId) {
    User u = new User();
    u = em.find(User.class, UserId);
    return u;
    public List<User> getAllUsers() {
    Query q = em.createQuery("SELECT u FROM User u");
    List<User> users = q.getResultList();
    return users;
    public void createUser(User u) {
    String hashedPw = hashPassword(u.getPassword());
    u.setPassword(hashedPw);
    em.persist(u);
    public void updateUser(User u) {
    String hashedPw = hashPassword(u.getPassword());
    u.setPassword(hashedPw);
    em.merge(u);
    public void deleteUser(User u) {
    em.remove(u);
    private String hashPassword(String password) {
    StringBuilder sb = new StringBuilder();
    try {
    MessageDigest messageDigest = MessageDigest.getInstance("SHA");
    byte[] bs;
    bs = messageDigest.digest(password.getBytes());
    for (int i = 0; i < bs.length; i++) {
    String hexVal = Integer.toHexString(0xFF & bs);
    if (hexVal.length() == 1) {
    sb.append("0");
    sb.append(hexVal);
    } catch (NoSuchAlgorithmException ex) {
    Logger.getLogger(UserDAOBean.class.getName()).log(Level.SEVERE, null, ex);
    return sb.toString();
    Step 6: Create a Deployment file in the Model and Deploy this to a JAR file
    Step 7: Now Right Click on View/Controller Node and create a Java File –
    UserController.java -
    package lux.controllers;
    import javax.ejb.EJB;
    import javax.faces.model.DataModel;
    import javax.faces.model.ListDataModel;
    import lux.domain.User;
    import lux.facade.UserDAO;
    public class UserController {
    @EJB UserDAO userDao;
    private User user;
    private DataModel model;
    public String createUser() {
    this.user = new User();
    return "create_new_user";
    public String saveUser() {
    String r = "success";
    try {
    userDao.createUser(user);
    } catch (Exception e) {
    e.printStackTrace();
    r = "failed";
    return r;
    public DataModel getUsers() {
    model = new ListDataModel(userDao.getAllUsers());
    return model;
    public User getUser() {
    return user;
    public void setUser(User user) {
    this.user = user;
    Step 8: Configure page flow in faces-config.xml
    1. Create the JSP file adduser.jsp by right-clicking View-Controller
    node and selecting New > JSP. Use the wizard to create JSF – JSP Page, fill in
    File Name adduser.jsp, click Finish. -
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>New user</title>
    </head>
    <body>
    <f:view>
    <h:form>
    <h:messages/>
    <h:panelGrid columns="2">
    <h:outputText value="Username"/>
    <h:inputText
    id="Username"
    value="#{user.user.username}"
    required="true"/>
    <h:outputText value="First name"/>
    <h:inputText
    id="FirstName"
    value="#{user.user.firstName}" />
    <h:outputText value="Last name"/>
    <h:inputText
    id="LastName"
    value="#{user.user.lastName}" />
    <h:outputText value="Password" />
    <h:inputSecret
    id="Password"
    value="#{user.user.password}"
    required="true" />
    <h:panelGroup/>
    <h:commandButton
    action="#{user.saveUser}"
    value="Save"/>
    </h:panelGrid>
    </h:form>
    </f:view>
    </body>
    </html>
    2. Repeat the previous step for another JSP file failed.jsp.
    3. On failed.jsp add the string
    Save failed
    Next we configure the page flow.
    1. Open faces-config.xml.
    2. Create index.jsp -
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>User Listing</title>
    </head>
    <body>
    <f:view>
    <h:form>
    <h:outputText value="User Listing"/>
    <h:commandLink action="#{user.createUser}" value="Create a user"/>
    <h:dataTable value="#{user.user}"
    var="dataTableItem" border="1" cellpadding="2" cellspacing="2">
    <h:column>
    <f:facet name="header">
    <h:outputText value="Username"/>
    </f:facet>
    <h:outputText value="#{dataTableItem.username}" />
    </h:column>
    <h:column>
    <f:facet name="header">
    <h:outputText value="First name"/>
    </f:facet>
    <h:outputText value="#{dataTableItem.firstName}" />
    </h:column>
    <h:column>
    <f:facet name="header">
    <h:outputText value="Last name"/>
    </f:facet>
    <h:outputText value="#{dataTableItem.lastName}" />
    </h:column>
    </h:dataTable>
    </h:form>
    </f:view>
    </body>
    </html>
    3. Drag an arrow from index.jsp to adduser.jsp and replace the arrow’s label to create_new_user.
    4. Repeat the previous step for failed, by dragging and arrow from adduser.jsp to failed.jsp renaming the label to f
    ailed
    5. Finally repeat the step for adduser.jsp, by dragging from adduser.jsp to index.jsp renaming the label to success.
    This creates the following faces-config.xml file –
    <?xml version='1.0' encoding='UTF-8'?>
    <faces-config>
    <managed-bean>
    <managed-bean-name>user</managed-bean-name>
    <managed-bean-class>lux.controllers.UserController</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-property>
    <property-name>username</property-name>
    <value>#{username}</value>
    </managed-property>
    <managed-property>
    <property-name>firstName</property-name>
    <value>#{firstName}</value>
    </managed-property>
    <managed-property>
    <property-name>lastName</property-name>
    <value>#{lastName}</value>
    </managed-property>
    <managed-property>
    <property-name>password</property-name>
    <value>#{password}</value>
    </managed-property>
    </managed-bean>
    <navigation-rule>
    <from-view-id>/index.jsp</from-view-id>
    <navigation-case>
    <from-outcome>create_new_user</from-outcome>
    <to-view-id>/adduser.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    <navigation-rule>
    <from-view-id>/adduser.jsp</from-view-id>
    <navigation-case>
    <from-outcome>failed</from-outcome>
    <to-view-id>/failed.jsp</to-view-id>
    </navigation-case>
    <navigation-case>
    <from-outcome>success</from-outcome>
    <to-view-id>/index.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    </faces-config>
    Step 9: Create a Deployment file in the View-Controller and Deploy this to a WAR file
    Step 10: Create a Deployment file in the View-Controller and create an EAR file and add Model’s JAR and View-Controller’s
    WAR files to it.
    Step 11: Run the JSP Files
    SCENARIO END
    Now, When I execute Index.jsp, it does not list values from database and when I click on Create User link, it takes me to adduser.jsp page. When I fill values in this page and click Save button, it takes me to Save Failed page and data does not persist to the database.
    WHAT IS WRONG OUT HERE ???

    If you set a breakpoint in your createUser method - does this code get executed?
    We have a couple of tutorials that might show you how to do this.
    EJB/JSF with ADF-binding tutorial:
    http://www.oracle.com/technology/obe/obe1013jdev/10131/ejb_and_jpa/master-detail_pagewith_ejb.htm
    EJB/JSF without ADF binding:
    http://www.oracle.com/technology/obe/JavaEE_tutorial_10131/index.htm

  • JSF - EJB 3.0 Application - Data does not persist to the database

    Hi,
    I am developing a JSF - EJB application and the data that I send from JSP Page through JSF Managed Bean --> Session Bean --> Java Persistence does not persist in database.
    Here is my scenario ( Iam using JDeveloper IDE to create this application) -
    ------------------------------------------------------- SCENARIO START
    The scenario consists of two web pages, one enlisting all the users stored in the database, the other contains a form for adding a user
    1.) INDEX.JSP
    2.) ADDUSER.JSP
    Step 1: Create the USERS Table in database
    CREATE TABLE users
    user_id serial,
    username varchar(255) NOT NULL,
    first_name varchar(255),
    last_name varchar(255),
    password char(64) NOT NULL,
    CONSTRAINT pk_users PRIMARY KEY (user_id)
    Step 2: Add Database Connection To JDeveloper
    Go to Database Connection Navigator and create a New Database Connection using the Wizard
    Step 3: Create a New Application in JDeveloper and select JSF, EJB from Application Template
    Step 4: ENTITY BEAN - In the EJB Node Right Click and Select EJB � New Entites from Table (JPA/EJB3.0)
    Use The Wizard and create Entity Bean from Users Table which creates an Entity Bea POJO file as follows �
    User.java -
    package lux.domain;
    import java.io.Serializable;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.NamedQuery;
    import javax.persistence.SequenceGenerator;
    import javax.persistence.Table;
    @Entity
    @NamedQuery(name = "User.findAll", query = "select o from User o")
    @Table(name = "USERS")
    public class User implements Serializable {
    @Column(name="FIRST_NAME")
    private String firstName;
    @Column(name="LAST_NAME")
    private String lastName;
    @Column(nullable = false)
    private String password;
    @Column(nullable = false)
    private String username;
    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="users_seq_generator")
    @SequenceGenerator(name="users_seq_generator", sequenceName="users_user_id_seq")
    @Column(name="USER_ID", nullable = false)
    private Long userId;
    public User() {
    public String getFirstName() {
    return firstName;
    public void setFirstName(String firstName) {
    this.firstName = firstName;
    public String getLastName() {
    return lastName;
    public void setLastName(String lastName) {
    this.lastName = lastName;
    public String getPassword() {
    return password;
    public void setPassword(String password) {
    this.password = password;
    public String getUsername() {
    return username;
    public void setUsername(String username) {
    this.username = username;
    public Long getUserId() {
    return userId;
    public void setUserId(Long userId) {
    this.userId = userId;
    Step 5: STATELESS SESSION BEAN - In the EJB Node Right Click and Select EJB � New Entites from Table (JPA/EJB3.0)
    Again Right Click on Model and create Session Bean from Wizard which creates two files �
    UserDAOBean.java � Stateless Session Bean
    UserDAO.java � Local Interface
    package lux.facade;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.util.List;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import javax.persistence.Query;
    import lux.domain.User;
    @Stateless(name="UserDAO")
    public class UserDAOBean implements UserDAO {
    @PersistenceContext(unitName="Model")
    private EntityManager em;
    public UserDAOBean() {
    public User getUser(int UserId) {
    User u = new User();
    u = em.find(User.class, UserId);
    return u;
    public List<User> getAllUsers() {
    Query q = em.createQuery("SELECT u FROM User u");
    List<User> users = q.getResultList();
    return users;
    public void createUser(User u) {
    String hashedPw = hashPassword(u.getPassword());
    u.setPassword(hashedPw);
    em.persist(u);
    public void updateUser(User u) {
    String hashedPw = hashPassword(u.getPassword());
    u.setPassword(hashedPw);
    em.merge(u);
    public void deleteUser(User u) {
    em.remove(u);
    private String hashPassword(String password) {
    StringBuilder sb = new StringBuilder();
    try {
    MessageDigest messageDigest = MessageDigest.getInstance("SHA");
    byte[] bs;
    bs = messageDigest.digest(password.getBytes());
    for (int i = 0; i < bs.length; i++) {
    String hexVal = Integer.toHexString(0xFF & bs);
    if (hexVal.length() == 1) {
    sb.append("0");
    sb.append(hexVal);
    } catch (NoSuchAlgorithmException ex) {
    Logger.getLogger(UserDAOBean.class.getName()).log(Level.SEVERE, null, ex);
    return sb.toString();
    Step 6: Create a Deployment file in the Model and Deploy this to a JAR file
    Step 7: Now Right Click on View/Controller Node and create a Java File �
    UserController.java -
    package lux.controllers;
    import javax.ejb.EJB;
    import javax.faces.model.DataModel;
    import javax.faces.model.ListDataModel;
    import lux.domain.User;
    import lux.facade.UserDAO;
    public class UserController {
    @EJB UserDAO userDao;
    private User user;
    private DataModel model;
    public String createUser() {
    this.user = new User();
    return "create_new_user";
    public String saveUser() {
    String r = "success";
    try {
    userDao.createUser(user);
    } catch (Exception e) {
    e.printStackTrace();
    r = "failed";
    return r;
    public DataModel getUsers() {
    model = new ListDataModel(userDao.getAllUsers());
    return model;
    public User getUser() {
    return user;
    public void setUser(User user) {
    this.user = user;
    Step 8: Configure page flow in faces-config.xml
    1. Create the JSP file adduser.jsp by right-clicking View-Controller
    node and selecting New > JSP. Use the wizard to create JSF � JSP Page, fill in
    File Name adduser.jsp, click Finish. -
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>New user</title>
    </head>
    <body>
    <f:view>
    <h:form>
    <h:messages/>
    <h:panelGrid columns="2">
    <h:outputText value="Username"/>
    <h:inputText
    id="Username"
    value="#{user.user.username}"
    required="true"/>
    <h:outputText value="First name"/>
    <h:inputText
    id="FirstName"
    value="#{user.user.firstName}" />
    <h:outputText value="Last name"/>
    <h:inputText
    id="LastName"
    value="#{user.user.lastName}" />
    <h:outputText value="Password" />
    <h:inputSecret
    id="Password"
    value="#{user.user.password}"
    required="true" />
    <h:panelGroup/>
    <h:commandButton
    action="#{user.saveUser}"
    value="Save"/>
    </h:panelGrid>
    </h:form>
    </f:view>
    </body>
    </html>
    2. Repeat the previous step for another JSP file failed.jsp.
    3. On failed.jsp add the string <h2>Save failed</h2>.
    Next we configure the page flow.
    1. Open faces-config.xml.
    2. Create index.jsp -
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>User Listing</title>
    </head>
    <body>
    <f:view>
    <h:form>
    <h1><h:outputText value="User Listing"/></h1>
    <p><h:commandLink action="#{user.createUser}" value="Create a user"/></p>
    <h:dataTable value="#{user.user}"
    var="dataTableItem" border="1" cellpadding="2" cellspacing="2">
    <h:column>
    <f:facet name="header">
    <h:outputText value="Username"/>
    </f:facet>
    <h:outputText value="#{dataTableItem.username}" />
    </h:column>
    <h:column>
    <f:facet name="header">
    <h:outputText value="First name"/>
    </f:facet>
    <h:outputText value="#{dataTableItem.firstName}" />
    </h:column>
    <h:column>
    <f:facet name="header">
    <h:outputText value="Last name"/>
    </f:facet>
    <h:outputText value="#{dataTableItem.lastName}" />
    </h:column>
    </h:dataTable>
    </h:form>
    </f:view>
    </body>
    </html>
    3. Drag an arrow from index.jsp to adduser.jsp and replace the arrow�s label to create_new_user.
    4. Repeat the previous step for failed, by dragging and arrow from adduser.jsp to failed.jsp renaming the label to f
    ailed
    5. Finally repeat the step for adduser.jsp, by dragging from adduser.jsp to index.jsp renaming the label to success.
    This creates the following faces-config.xml file �
    <?xml version='1.0' encoding='UTF-8'?>
    <faces-config>
    <managed-bean>
    <managed-bean-name>user</managed-bean-name>
    <managed-bean-class>lux.controllers.UserController</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-property>
    <property-name>username</property-name>
    <value>#{username}</value>
    </managed-property>
    <managed-property>
    <property-name>firstName</property-name>
    <value>#{firstName}</value>
    </managed-property>
    <managed-property>
    <property-name>lastName</property-name>
    <value>#{lastName}</value>
    </managed-property>
    <managed-property>
    <property-name>password</property-name>
    <value>#{password}</value>
    </managed-property>
    </managed-bean>
    <navigation-rule>
    <from-view-id>/index.jsp</from-view-id>
    <navigation-case>
    <from-outcome>create_new_user</from-outcome>
    <to-view-id>/adduser.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    <navigation-rule>
    <from-view-id>/adduser.jsp</from-view-id>
    <navigation-case>
    <from-outcome>failed</from-outcome>
    <to-view-id>/failed.jsp</to-view-id>
    </navigation-case>
    <navigation-case>
    <from-outcome>success</from-outcome>
    <to-view-id>/index.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    </faces-config>
    Step 9: Create a Deployment file in the View-Controller and Deploy this to a WAR file
    Step 10: Create a Deployment file in the View-Controller and create an EAR file and add Model�s JAR and View-Controller�s
    WAR files to it.
    Step 11: Run the JSP Files
    ------------------------------------------------------- SCENARIO END
    Now, When I execute Index.jsp, it does not list values from database and when I click on Create User link, it takes me to adduser.jsp page. When I fill values in this page and click Save button, it takes me to Save Failed page and data does not persist to the database.
    WHAT IS WRONG OUT HERE ???

    PLZZZZZZZZZzzzzzzzzzzz HELP ! ! !

  • Database schema SCM does not contain the associated database objects

    I am getting the following error when i am trying to migrate the form to apex using application migration.
    "*Database schema SCM does not contain the associated database objects for the project, aafs.*
    *Ensure the database schema associated with the project contains the database objects associated with the uploaded Forms Module .XML file(s).* ".
    Actully i am having one schema which i named as SCM, and i have defined one table TT.
    I created one form test.fmb in which i used TT table.its compiled successfully.
    Then i generated the xml file using frmf2xml from fmb file. After that, I created the project in appication migration wizard in SCM schema.
    Project creattion is working fine.but when i m trying to create application,it is showing me above error.
    can any one help in solving this problem.

    Hi Hilary,
    Thanks for your response/feedback.
    1. The schema associated with the project does not contain the necessary objects Can you please verify that the schema associated with your Forms conversion project does in fact contain the objects associated with the uploaded files. Could you also verify that the object names referenced in the error message do not exist within the schema associated with your workspace. Ensure that the schema associated with the project contains the necessary database objects before proceeding to the generation phase of the conversion process.
    Ans:
    Yes it does contain the objects (See results from SQL query Commands below):
    SELECT MWRA_CONTRACT_NO, OLD_CONTRACT_NO FROM PROJECTS@CONTRACT_LX19.MWRA.NET
    ORDER BY MWRA_CONTRACT_NO
    000000569 551TA
    000000570 553TA
    000000575 560TA
    000000576 561TA
    000107888 502TA
    000108498 500TA
    000108502 503TA
    2. The block being converted contains buttons, which may have been incorrectly identified as database columns, and included in the original or enhanced query associated with your block This is a known issue ,bug 9827853, and a fix will be available in our upcoming 4.0.1 patch release. Some possible solutions to this issue are:
    -> delete the buttons before generating the XML
    -> delete the button tags from the XML
    -> add "DatabaseItem=No" for the button in the XML file before importing it in Apex.The button is excluded when creating the Application.
    Ans
    yes it does contain push buttons to transfer to another forms and these are defined as Non data base items. Parial XML code provided below:
    - <Item Name="REPORTS" FontSize="900" DirtyInfo="true" Height="188" XPosition="4409" FontName="Fixedsys" ForegroundColor="black" DatabaseItem="false" Width="948" CompressionQuality="None" YPosition="3709" FontSpacing="Normal" Label="REPORTS" BackColor="canvas" FillPattern="transparent" ShowHorizontalScrollbar="false" FontWeight="Medium" ShowVerticalScrollbar="false" FontStyle="Plain" ItemType="Push Button">
    <Trigger Name="WHEN-BUTTON-PRESSED" TriggerText="GO_BLOCK('REPORT_1');" />
    </Item>
    - <Item Name="TRACKHDR" FontSize="900" DirtyInfo="true" Height="188" XPosition="3409" FontName="Fixedsys" ForegroundColor="black" DatabaseItem="false" Width="948" CompressionQuality="None" YPosition="3709" FontSpacing="Normal" Label="TRACK" BackColor="canvas" FillPattern="transparent" ShowHorizontalScrollbar="false" FontWeight="Medium" ShowVerticalScrollbar="false" FontStyle="Plain" ItemType="Push Button">
    <Trigger Name="WHEN-BUTTON-PRESSED" TriggerText="GO_BLOCK('TRACKHDRS');" />
    </Item>
    - <Item Name="SUBAWRD" FontSize="900" DirtyInfo="true" Height="188" XPosition="2429" FontName="Fixedsys" ForegroundColor="black" DatabaseItem="false" Width="948" CompressionQuality="None" YPosition="3719" FontSpacing="Normal" Label="SUBAWARDS" BackColor="canvas" FillPattern="transparent" ShowHorizontalScrollbar="false" FontWeight="Medium" ShowVerticalScrollbar="false" FontStyle="Plain" ItemType="Push Button">
    3. If you are still experiencing issues, then please create a testcase on apex.oracle.com and update this thread with the workspace details so I can take a look.
    Test case details are given below. It was created per ORACLE for open Service Request Number 3-1938902931 on ORACLE Metalink.
    Workspace: contract4
    username: [email protected] (my email)
    Password: contract4
    Comments:
    For my migration/testing purpose a dabatase link and synonyms have been setup by our ORACLE DBA. Could this be causing this problem?
    Do we know when the fix 4.0.1 patch release will be available?
    Thanks for your help.
    Indra

  • EJB-JSF Application : Data does not persist to the database

    Hi,
    I am developing a JSF - EJB application and the data that I send from JSP Page through JSF Managed Bean --> Session Bean --> Java Persistence does not persist in database.
    Here is my scenario ( Iam using JDeveloper IDE to create this application) -
    SCENARIO START
    The scenario consists of two web pages, one enlisting all the users stored in the database, the other contains a form for adding a user
    1.) INDEX.JSP
    2.) ADDUSER.JSP
    Step 1: Create the USERS Table in database
    CREATE TABLE users
    user_id serial,
    username varchar(255) NOT NULL,
    first_name varchar(255),
    last_name varchar(255),
    password char(64) NOT NULL,
    CONSTRAINT pk_users PRIMARY KEY (user_id)
    Step 2: Add Database Connection To JDeveloper
    Go to Database Connection Navigator and create a New Database Connection using the Wizard
    Step 3: Create a New Application in JDeveloper and select JSF, EJB from Application Template
    Step 4: ENTITY BEAN - In the EJB Node Right Click and Select EJB � New Entites from Table (JPA/EJB3.0)
    Use The Wizard and create Entity Bean from Users Table which creates an Entity Bea POJO file as follows �
    User.java -
    package lux.domain;
    import java.io.Serializable;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.NamedQuery;
    import javax.persistence.SequenceGenerator;
    import javax.persistence.Table;
    @Entity
    @NamedQuery(name = "User.findAll", query = "select o from User o")
    @Table(name = "USERS")
    public class User implements Serializable {
    @Column(name="FIRST_NAME")
    private String firstName;
    @Column(name="LAST_NAME")
    private String lastName;
    @Column(nullable = false)
    private String password;
    @Column(nullable = false)
    private String username;
    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="users_seq_generator")
    @SequenceGenerator(name="users_seq_generator", sequenceName="users_user_id_seq")
    @Column(name="USER_ID", nullable = false)
    private Long userId;
    public User() {
    public String getFirstName() {
    return firstName;
    public void setFirstName(String firstName) {
    this.firstName = firstName;
    public String getLastName() {
    return lastName;
    public void setLastName(String lastName) {
    this.lastName = lastName;
    public String getPassword() {
    return password;
    public void setPassword(String password) {
    this.password = password;
    public String getUsername() {
    return username;
    public void setUsername(String username) {
    this.username = username;
    public Long getUserId() {
    return userId;
    public void setUserId(Long userId) {
    this.userId = userId;
    Step 5: STATELESS SESSION BEAN - In the EJB Node Right Click and Select EJB � New Entites from Table (JPA/EJB3.0)
    Again Right Click on Model and create Session Bean from Wizard which creates two files �
    UserDAOBean.java � Stateless Session Bean
    UserDAO.java � Local Interface
    package lux.facade;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.util.List;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import javax.persistence.Query;
    import lux.domain.User;
    @Stateless(name="UserDAO")
    public class UserDAOBean implements UserDAO {
    @PersistenceContext(unitName="Model")
    private EntityManager em;
    public UserDAOBean() {
    public User getUser(int UserId) {
    User u = new User();
    u = em.find(User.class, UserId);
    return u;
    public List<User> getAllUsers() {
    Query q = em.createQuery("SELECT u FROM User u");
    List<User> users = q.getResultList();
    return users;
    public void createUser(User u) {
    String hashedPw = hashPassword(u.getPassword());
    u.setPassword(hashedPw);
    em.persist(u);
    public void updateUser(User u) {
    String hashedPw = hashPassword(u.getPassword());
    u.setPassword(hashedPw);
    em.merge(u);
    public void deleteUser(User u) {
    em.remove(u);
    private String hashPassword(String password) {
    StringBuilder sb = new StringBuilder();
    try {
    MessageDigest messageDigest = MessageDigest.getInstance("SHA");
    byte[] bs;
    bs = messageDigest.digest(password.getBytes());
    for (int i = 0; i < bs.length; i++) {
    String hexVal = Integer.toHexString(0xFF & bs);
    if (hexVal.length() == 1) {
    sb.append("0");
    sb.append(hexVal);
    } catch (NoSuchAlgorithmException ex) {
    Logger.getLogger(UserDAOBean.class.getName()).log(Level.SEVERE, null, ex);
    return sb.toString();
    Step 6: Create a Deployment file in the Model and Deploy this to a JAR file
    Step 7: Now Right Click on View/Controller Node and create a Java File �
    UserController.java -
    package lux.controllers;
    import javax.ejb.EJB;
    import javax.faces.model.DataModel;
    import javax.faces.model.ListDataModel;
    import lux.domain.User;
    import lux.facade.UserDAO;
    public class UserController {
    @EJB UserDAO userDao;
    private User user;
    private DataModel model;
    public String createUser() {
    this.user = new User();
    return "create_new_user";
    public String saveUser() {
    String r = "success";
    try {
    userDao.createUser(user);
    } catch (Exception e) {
    e.printStackTrace();
    r = "failed";
    return r;
    public DataModel getUsers() {
    model = new ListDataModel(userDao.getAllUsers());
    return model;
    public User getUser() {
    return user;
    public void setUser(User user) {
    this.user = user;
    Step 8: Configure page flow in faces-config.xml
    1. Create the JSP file adduser.jsp by right-clicking View-Controller
    node and selecting New > JSP. Use the wizard to create JSF � JSP Page, fill in
    File Name adduser.jsp, click Finish. -
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>New user</title>
    </head>
    <body>
    <f:view>
    <h:form>
    <h:messages/>
    <h:panelGrid columns="2">
    <h:outputText value="Username"/>
    <h:inputText
    id="Username"
    value="#{user.user.username}"
    required="true"/>
    <h:outputText value="First name"/>
    <h:inputText
    id="FirstName"
    value="#{user.user.firstName}" />
    <h:outputText value="Last name"/>
    <h:inputText
    id="LastName"
    value="#{user.user.lastName}" />
    <h:outputText value="Password" />
    <h:inputSecret
    id="Password"
    value="#{user.user.password}"
    required="true" />
    <h:panelGroup/>
    <h:commandButton
    action="#{user.saveUser}"
    value="Save"/>
    </h:panelGrid>
    </h:form>
    </f:view>
    </body>
    </html>
    2. Repeat the previous step for another JSP file failed.jsp.
    3. On failed.jsp add the string
    Save failed
    Next we configure the page flow.
    1. Open faces-config.xml.
    2. Create index.jsp -
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>User Listing</title>
    </head>
    <body>
    <f:view>
    <h:form>
    <h:outputText value="User Listing"/>
    <h:commandLink action="#{user.createUser}" value="Create a user"/>
    <h:dataTable value="#{user.user}"
    var="dataTableItem" border="1" cellpadding="2" cellspacing="2">
    <h:column>
    <f:facet name="header">
    <h:outputText value="Username"/>
    </f:facet>
    <h:outputText value="#{dataTableItem.username}" />
    </h:column>
    <h:column>
    <f:facet name="header">
    <h:outputText value="First name"/>
    </f:facet>
    <h:outputText value="#{dataTableItem.firstName}" />
    </h:column>
    <h:column>
    <f:facet name="header">
    <h:outputText value="Last name"/>
    </f:facet>
    <h:outputText value="#{dataTableItem.lastName}" />
    </h:column>
    </h:dataTable>
    </h:form>
    </f:view>
    </body>
    </html>
    3. Drag an arrow from index.jsp to adduser.jsp and replace the arrow�s label to create_new_user.
    4. Repeat the previous step for failed, by dragging and arrow from adduser.jsp to failed.jsp renaming the label to f
    ailed
    5. Finally repeat the step for adduser.jsp, by dragging from adduser.jsp to index.jsp renaming the label to success.
    This creates the following faces-config.xml file �
    <?xml version='1.0' encoding='UTF-8'?>
    <faces-config>
    <managed-bean>
    <managed-bean-name>user</managed-bean-name>
    <managed-bean-class>lux.controllers.UserController</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-property>
    <property-name>username</property-name>
    <value>#{username}</value>
    </managed-property>
    <managed-property>
    <property-name>firstName</property-name>
    <value>#{firstName}</value>
    </managed-property>
    <managed-property>
    <property-name>lastName</property-name>
    <value>#{lastName}</value>
    </managed-property>
    <managed-property>
    <property-name>password</property-name>
    <value>#{password}</value>
    </managed-property>
    </managed-bean>
    <navigation-rule>
    <from-view-id>/index.jsp</from-view-id>
    <navigation-case>
    <from-outcome>create_new_user</from-outcome>
    <to-view-id>/adduser.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    <navigation-rule>
    <from-view-id>/adduser.jsp</from-view-id>
    <navigation-case>
    <from-outcome>failed</from-outcome>
    <to-view-id>/failed.jsp</to-view-id>
    </navigation-case>
    <navigation-case>
    <from-outcome>success</from-outcome>
    <to-view-id>/index.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    </faces-config>
    Step 9: Create a Deployment file in the View-Controller and Deploy this to a WAR file
    Step 10: Create a Deployment file in the View-Controller and create an EAR file and add Model�s JAR and View-Controller�s
    WAR files to it.
    Step 11: Run the JSP Files
    SCENARIO END
    Now, When I execute Index.jsp, it does not list values from database and when I click on Create User link, it takes me to adduser.jsp page. When I fill values in this page and click Save button, it takes me to Save Failed page and data does not persist to the database.
    WHAT IS WRONG OUT HERE ???

    If you set a breakpoint in your createUser method - does this code get executed?
    We have a couple of tutorials that might show you how to do this.
    EJB/JSF with ADF-binding tutorial:
    http://www.oracle.com/technology/obe/obe1013jdev/10131/ejb_and_jpa/master-detail_pagewith_ejb.htm
    EJB/JSF without ADF binding:
    http://www.oracle.com/technology/obe/JavaEE_tutorial_10131/index.htm

Maybe you are looking for