BC4J/JSP:Foreign Keys:Read Only Renderers

I've read and implemented all of the Renderers in the Renderer how to document. I've also read 8 pages of postings to this forum regarding renderers and LOVs. And I've read reams of BC4J class documentation.
Though the EditRenderer that does a lookup via a SQL query works well, there is no equivalent Read-only (via a SQL query) Renderer example.
I have tried to use the examples to create a Read-only (SQL based) Renderer but I haven't had much luck.
The closest I got to a solution was an indicator that another poster accomplishes this by modifying the generated JSP. This is clearly the wrong place to implement this functionality (doesn't allow for code re-use).
I was also able to use the DynamicEditRenderer as a Read-Only Renderer but that would confuse my users and create bugs.
It was my idea that you shouldn't have to define the SQL and that you could use existing BC4J classes to lookup the friendly FK value. I looked through the XML files for View Objects and View Links and saw all the information required to do this. A smart person (obviously much smarter than me), should be able to create a read-only and Edit Renderer that doesn't require a SQL property or the PK or column properties (use the UK from the db).
Does someone have an example of a Read-Only, SQL based, Renderer? Better, has someone written a generic renderer that can track back through View Links to find the UK in the lookup table?
This is incredibly basic functionality that I'm surprised is missing from JDeveloper.
Please help.
Thanks, George

You are not going to find an 'exact' match in our existing classes. The rednering HOWTO(http://otn.oracle.com/products/jdev/howtos/jsp/renderers.html) provides enough information for implementing your readonly lookup field. If you look at the first renderer in this document, it uses a static lookup list. You can easily use a secondary view object for your lookup values. Here is the code from that document:
package myrenderers;
import oracle.jdeveloper.html.ReadOnlyField;
import oracle.jbo.Row;
import oracle.jbo.AttributeDef;
import java.util.StringTokenizer;
public class ListFieldRenderer extends ReadOnlyField
public ListFieldRenderer()
public String renderToString(Row row)
setValueFromRow(row);
AttributeDef aDef = getAttributeDef();
String sAttrValue = getValue();
String sList = (String)aDef.getProperty("DISPLAY_LIST");
if(sAttrValue != null && sList != null)
StringTokenizer tokens = new StringTokenizer(sList, ",", false);
while(tokens.hasMoreTokens())
String sEntry = tokens.nextToken();
String sValue = sEntry.substring(sEntry.indexOf('=') + 1);
String sKey = sEntry.substring(0, sEntry.indexOf('='));
if(sKey.equals(sAttrValue))
return sValue;
return super.renderToString(row);

Similar Messages

  • BC4J models foreign key associations as 1-to-1 instead of 1-to-many

    I've been using JDeveloper to generate a BC4J layer against a schema for several months as the schema has evolved. It has always modeled foreign key associations as 1-to-many, but now it is suddenly modeling foreign keys as 1-to-1, which is nonsense. A lot of other associations are also wrong.
    This happened to a schema that we've been using JDeveloper/BC4J on for months with no such problems as the schema has evolved. The database has changed slightly, but there was no change made to the particular constraints that are now modeled incorrectly.
    If I point JDeveloper to an older version of the same schema it generates the correct 1-to-many relationship. Something in the latest schema must be throwing JDeveloper/BC4J off.
    What do I have our data modelers look for in this case?
    Why would BC4J ever model a foreign key association as 1-to-1?

    I've been using JDeveloper to generate a BC4J layer against a schema for several months as the schema has evolved. It has always modeled foreign key associations as 1-to-many, but now it is suddenly modeling foreign keys as 1-to-1, which is nonsense. A lot of other associations are also wrong.
    This happened to a schema that we've been using JDeveloper/BC4J on for months with no such problems as the schema has evolved. The database has changed slightly, but there was no change made to the particular constraints that are now modeled incorrectly.
    If I point JDeveloper to an older version of the same schema it generates the correct 1-to-many relationship. Something in the latest schema must be throwing JDeveloper/BC4J off.
    What do I have our data modelers look for in this case?
    Why would BC4J ever model a foreign key association as 1-to-1?

  • Make jsp page read only

    dera frds,
    im working on a site,i make a web page based on jsp,that page has a download file,i want the authorized user can download that file,other can see that file as read only mode,but can't download,so plz provode me some program to make jsp page as read only.

    ya well i want that other can see that file,but only authories users can download that page or file.unauthories user can see that page or file,but can't download.
    basially assume that file might be having some course that can download by authoried users.

  • How can I create a new entry without using LOV for foreign keys.

    Referring to TUHRA sample application based on HR database schema. JDeveloper 10.1.3.0.4
    How can I create a new employee without using LOV for the foreign key "job_id".
    On the first page I would like to choose the job_title from adf read-only table.
    After clicking on the "create new employee button" a creation form appears in which the job_id field is set with previous selection.
    Regards M.Winkler
    Edited by: user3541283 on 06.10.2008 03:44
    Edited by: user3541283 on 06.10.2008 03:50

    Hi,
    usually the foreign key is only set if the VO you select is dependent from a master. If e.g. you have DepartmentsVO1 that has an EmployeeVO3 as its nested VO, then creating a new instance of employees automatically add the foreign key. If you add EmployeesVO1, which is not dependent to DepartmensVO1, then the foreign key is not set. So if this is the case in THURA (keep in mind that this is not an Oracle demo but a sample used in a book about ADF) then all you need is to take the independent VO when building the new employee form.
    Frank

  • Does a foreign key have to be a primary key

    Hey all.I was checking on the database code written by sambapos.To my surprise, I found a foreign key that is not a primary key anywhere.
    Is that possible?
    If, so why?
    I am really astonished.

    Limitations and Restrictions
    A foreign key constraint does not have to be linked only to a primary key constraint in another table; it can also be defined to reference the columns of a UNIQUE constraint in another table.
    When a value other than NULL is entered into the column of a FOREIGN KEY constraint, the value must exist in the referenced column; otherwise, a foreign key violation error message is returned. To make sure that all values of a composite foreign key constraint
    are verified, specify NOT NULL on all the participating columns.
    FOREIGN KEY constraints can reference only tables within the same database on the same server. Cross-database referential integrity must be implemented through triggers. For more information, see
    CREATE TRIGGER (Transact-SQL).
    FOREIGN KEY constraints can reference another column in the same table. This is referred to as a self-reference.
    A FOREIGN KEY constraint specified at the column level can list only one reference column. This column must have the same data type as the column on which the constraint is defined.
    A FOREIGN KEY constraint specified at the table level must have the same number of reference columns as the number of columns in the constraint column list. The data type of each reference column must also be the same as the corresponding column in the column
    list.
    The Database Engine does not have a predefined limit on either the number of FOREIGN KEY constraints a table can contain that reference other tables, or the number of FOREIGN KEY constraints that are owned by other tables that reference a specific table.
    Nevertheless, the actual number of FOREIGN KEY constraints that can be used is limited by the hardware configuration and by the design of the database and application. We recommend that a table contain no more than 253 FOREIGN KEY constraints, and that it
    be referenced by no more than 253 FOREIGN KEY constraints.
    FOREIGN KEY constraints are not enforced on temporary tables.
    If a foreign key is defined on a CLR user-defined type column, the implementation of the type must support binary ordering. For more information, see
    CLR User-Defined Types.
    A column of type varchar(max) can participate in a FOREIGN KEY constraint only if the primary key it references is also defined as type
    varchar(max).
    Read this article
    http://msdn.microsoft.com/en-us/library/ms189049.aspx
    Regards, Ashwin Menon My Blog - http:\\sqllearnings.com

  • Foreing keys works only when created as CAPITAL?

    Hello,
    When working with HTML DB tutorial, I have noticed that foreign keys works only when I do create them as CAPITAL. I did create some foreign keys manually, and when I was trying "query by example" it did not work correctly unles I did re-create the foreign keys using all captials in their name. Why is it that?
    Thank you,
    DanielD

    I let it dry out more and it started working. It still has a quirk or two but I can live with it.

  • How to make a "SSWA JSP Function"  as query Only in Oracle 11i or R12

    Please someone help me in making a SSWA JSP Page as read only..
    For "forms" we use a parameter QUERY_ONLY="YES",what is the procedure for making a JSP as read only?

    All the enterable fields of an OA Framework Page can be made Read Only via personalization. Also you can disable/hide the transaction buttons. This way the page would become query only.

  • A question about foreign key to multiple tables

    Hello everybody,
    I have a question about creating foreign key and I would appreciate if you could kindly give me a hand. Here are my tables:
    CREATE TABLE TEAM1(team_id VARCHAR2(20), project_id VARCHAR2(20));
    ALTER TABLE TEAM1 ADD CONSTRAINT PK_TEAM1 PRIMARY KEY(team_id);
    CREATE TABLE TEAM2(team_id VARCHAR2(20), project_id VARCHAR2(20));
    ALTER TABLE TEAM2 ADD CONSTRAINT PK_TEAM2 PRIMARY KEY(team_id);although the structure of both the tables is exactly the same, the values (in particular team_id) in both tables are different.
    Also I have another table named AGENT
    CREATE TABLE AGENT(agent_id VARCHAR2(20), team_id VARCHAR2(20));
    ALTER TABLE AGENT ADD CONSTRAINT PK_AGENT PRIMARY KEY(agent_id)Now the problem is that the column team_id in AGENT table is actually a foreign key, but the value can be in either TEAM1 or TEAM2. As far as I know a foreign key points only to one table.
    How can I deal with this problem? Whenever there is an INSERT or UPDATE I have to make sure that the value of the column "team_id" in the table "AGENT" is a valid value either in "TEAM1" or "TEAM2"
    Thanks in advance,
    Kind Regards,
    Dariyoosh

    Do you have the ability to change the data model? If so a more appropriate structure may be something like this:
    CREATE TABLE TEAM(team_id VARCHAR2(20), team_name VARCHAR2(20));
    ALTER TABLE TEAM ADD CONSTRAINT PK_TEAM PRIMARY KEY(team_id);
    ALTER TABLE TEAM ADD CONSTRAINT UK_TEAM UNIQUE (team_name);
    CREATE TABLE TEAM_PROJECT(team_id VARCHAR2(20), project_id VARCHAR2(20));
    ALTER TABLE TEAM ADD CONSTRAINT PK_TEAM_PROJECT PRIMARY KEY(team_id, project_id);
    ALTER TABLE AGENT ADD CONSTRAINT FK_TEAM_PROJECT1 FOREIGN KEY (team_id) REFERENCES TEAM(team_id);
    CREATE TABLE AGENT(agent_id VARCHAR2(20), team_id VARCHAR2(20));
    ALTER TABLE AGENT ADD CONSTRAINT PK_AGENT PRIMARY KEY(agent_id);
    ALTER TABLE AGENT ADD CONSTRAINT FK_TEAM FOREIGN KEY (team_id) REFERENCES TEAM(team_id);Edited by: Centinul on Jun 25, 2010 10:50 AM

  • How to insert data into two tables linke with foreign key..

    I have two tables
    1)EMP(emp_ID,username,emp_type_code)
    emp_ID is primary key, emp_type_code is a foreign key references emptype table.
    2)emptype(emp_type_code,emp_type_descripton)
    emp_type_code is primary key
    Could anyone help me ..how to insert data into EMP table. How to insert data into two tables linke with foreign key..

    CREATE TABLE "CATDB"."DWDIMUSER"
    "USER_ID" NUMBER(10,0) NOT NULL ENABLE,
    "SPECIALTY_ID" NUMBER(10,0),
    "FULLNAME" VARCHAR2(20 BYTE),
    "FNAME" VARCHAR2(20 BYTE),
    "LNAME" VARCHAR2(20 BYTE),
    "USER_SUBTYPE" VARCHAR2(20 BYTE),
    CONSTRAINT "DIMUSER_PK" PRIMARY KEY ("USER_ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "CATDB" ENABLE,
    CONSTRAINT "DIMUSER_DIMSPECIALTY_FK" FOREIGN KEY ("SPECIALTY_ID") REFERENCES "CATDB"."DWDIMSPECIALTY" ("SPECIALTY_ID") DISABLE
    CREATE TABLE "CATDB"."DIMSPECIALTY"
    "SPECIALTY_ID" NUMBER(10,0) NOT NULL ENABLE,
    "SPECIALTY_NAME" VARCHAR2(100 BYTE),
    CONSTRAINT "DIMSPECIALTY_PK" PRIMARY KEY ("SPECIALTY_ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "CATDB" ENABLE
    INSERT INTO DIMUSER (FullName, FNAME, LNAME, USER_TYPE, USER_SUBTYPE)
    SELECT DISTINCT
    Engineer AS FullName,
    regexp_substr(Engineer , '[^,| ]+', 1, 1) as FName,
    regexp_substr(Engineer , '[^,| ]+', 1, 2) as LName ,
    'Engineer'
    FROM EMPLOYEELOOKUP;
    INSERT INTO DIMSPECIALTY (SPECIALTY_NAME)
    SELECT DISTINCT SPECIALITY
    FROM EMPLOYEELOOKUP;
    COMMIT;
    CREATE TABLE employeelookup ...IS A TABLE THAT HAS ALL THE DATA NEDED TO BE FILLED IN BOTHE TABLES...
    CREATE TABLE "CATDB"."EMPLOYEELOOKUP"
    "EMPLOYEELOOKUP_ID" NUMBER(10,0) NOT NULL ENABLE,
    "ENGINEER" VARCHAR2(25 BYTE),
    "SPECIALTY" VARCHAR2(20 BYTE),
    CONSTRAINT "DIMSPECIALTY_PK" PRIMARY KEY ("EMPLOYEELOOKUP_ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "CATDB" ENABLE
    DATA IN EMPLOYEELOOKUP
    Engineer, Specialty,
    John, Dow, Electronis,
    Dow, Jons, Technician
    Stan Smithers Sales
    Mark, Richards Marketing
    Jenny, Lane Marketing
    John, Lee Sales
    I NEED TO LOAD THE FOREIGN KEY IN DIMUSER FROM THE DIMSPECIALTY TABLE?
    BY USING THE LOOKUP TABLE TO MARCH THE NAMES UNDER THE Engineer COLUMN, SPECIALTY COLUMNE DISTICTIVLY BY JOINING THE DIMSPECILTY TO RISTIVE THE PRIMARY KEY AND FILL IT IN THE DIMUSER TABLE AS A FOREIGNE KEY.

  • BUG: ADF BC read-only VO with no Key attrs + af:table

    Hello all,
    I've got a bug to report - quite easily reproducable with the HR demo schema. To see it:
    1). Create a new application from the ADF BC + Faces template
    2). Create a read-only VO, use "SELECT employee_id, first_name from employees" and order by "employee_id" - take the defaults for everything - do not set any key attributes.
    3). Create an AM, add the VO to it's data model. Turn off AM pooling in the configuration.
    4). Create a JSPX page. Drag-drop the VO from the data control palette as an ADF read-only table - with selection
    5). Bind the actionlistener of the "submit" button to a backing bean method that just system.out.println's something.
    Now, run the app. Try selecting an employee from the first page (records 1-10) and clicking submit - it works. Now, scroll to the second set of records, select one and click submit - no message appears - the action listener is never called. No errors are thrown.
    Workaround: ensure the VO has employee_id selected as a key attribute.
    My code is at the bottom for reference.
    Cheers,
    John
    untitled1.jspx:
    <?xml version='1.0' encoding='windows-1252'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:af="http://xmlns.oracle.com/adf/faces"
              xmlns:afh="http://xmlns.oracle.com/adf/faces/html">
      <jsp:output omit-xml-declaration="true" doctype-root-element="HTML"
                  doctype-system="http://www.w3.org/TR/html4/loose.dtd"
                  doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>
      <jsp:directive.page contentType="text/html;charset=windows-1252"/>
      <f:view>
        <afh:html>
          <afh:head title="untitled1">
            <meta http-equiv="Content-Type"
                  content="text/html; charset=windows-1252"/>
          </afh:head>
          <afh:body>
            <af:messages/>
            <h:form>
              <af:table value="#{bindings.emp1.collectionModel}" var="row"
                        rows="#{bindings.emp1.rangeSize}"
                        first="#{bindings.emp1.rangeStart}"
                        emptyText="#{bindings.emp1.viewable ? 'No rows yet.' : 'Access Denied.'}"
                        selectionState="#{bindings.emp1.collectionModel.selectedRow}"
                        selectionListener="#{bindings.emp1.collectionModel.makeCurrent}">
                <af:column sortProperty="EmployeeId" sortable="false"
                           headerText="#{bindings.emp1.labels.EmployeeId}">
                  <af:outputText value="#{row.EmployeeId}">
                    <f:convertNumber groupingUsed="false"
                                     pattern="#{bindings.emp1.formats.EmployeeId}"/>
                  </af:outputText>
                </af:column>
                <af:column sortProperty="FirstName" sortable="false"
                           headerText="#{bindings.emp1.labels.FirstName}">
                  <af:outputText value="#{row.FirstName}"/>
                </af:column>
                <f:facet name="selection">
                  <af:tableSelectOne text="Select and">
                    <af:commandButton text="Submit" actionListener="#{abc.click}"/>
                  </af:tableSelectOne>
                </f:facet>
              </af:table>
            </h:form>
          </afh:body>
        </afh:html>
      </f:view>
    </jsp:root>abc.java:
    import javax.faces.event.ActionEvent;
    public class abc
      public abc()
      public void click(ActionEvent actionEvent)
        System.out.println("click");
    }emp.xml (View Object):
    <?xml version='1.0' encoding='windows-1252' ?>
    <!DOCTYPE ViewObject SYSTEM "jbo_03_01.dtd">
    <ViewObject
       Name="emp"
       OrderBy="employee_id"
       BindingStyle="OracleName"
       CustomQuery="true"
       ComponentClass="model.empImpl"
       UseGlueCode="false" >
       <SQLQuery><![CDATA[
    select employee_id, first_name
    from employees
       ]]></SQLQuery>
       <DesignTime>
          <Attr Name="_isExpertMode" Value="true" />
          <Attr Name="_version" Value="10.1.3.39.84" />
          <Attr Name="_codeGenFlag2" Value="Access|Coll|VarAccess" />
       </DesignTime>
       <ViewAttribute
          Name="EmployeeId"
          IsUpdateable="false"
          IsPersistent="false"
          IsNotNull="true"
          Precision="6"
          Scale="0"
          Type="oracle.jbo.domain.Number"
          ColumnType="NUMBER"
          AliasName="EMPLOYEE_ID"
          Expression="EMPLOYEE_ID"
          SQLType="NUMERIC" >
          <DesignTime>
             <Attr Name="_DisplaySize" Value="22" />
          </DesignTime>
       </ViewAttribute>
       <ViewAttribute
          Name="FirstName"
          IsUpdateable="false"
          IsPersistent="false"
          Precision="20"
          Type="java.lang.String"
          ColumnType="VARCHAR2"
          AliasName="FIRST_NAME"
          Expression="FIRST_NAME"
          SQLType="VARCHAR" >
          <DesignTime>
             <Attr Name="_DisplaySize" Value="20" />
          </DesignTime>
       </ViewAttribute>
    </ViewObject>appModule.xml:
    <?xml version='1.0' encoding='windows-1252' ?>
    <!DOCTYPE AppModule SYSTEM "jbo_03_01.dtd">
    <AppModule
       Name="AppModule"
       ComponentClass="model.AppModuleImpl" >
       <DesignTime>
          <Attr Name="_isCodegen" Value="true" />
          <Attr Name="_version" Value="10.1.3.39.84" />
          <Attr Name="_deployType" Value="0" />
       </DesignTime>
       <ViewUsage
          Name="emp1"
          ViewObjectName="model.emp" >
       </ViewUsage>
    </AppModule>bc4j.xcfg:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <BC4JConfig>
       <AppModuleConfigBag>
          <AppModuleConfig name="AppModuleLocal">
             <DeployPlatform>LOCAL</DeployPlatform>
             <JDBCName>local_hr</JDBCName>
             <jbo.ampool.doampooling>false</jbo.ampool.doampooling>
             <jbo.project>Model</jbo.project>
             <jbo.ampool.dynamicjdbccredentials>false</jbo.ampool.dynamicjdbccredentials>
             <AppModuleJndiName>model.AppModule</AppModuleJndiName>
             <ApplicationName>model.AppModule</ApplicationName>
          </AppModuleConfig>
       </AppModuleConfigBag>
       <ConnectionDefinition name="local_hr">
          <ENTRY name="JDBC_PORT" value="1521"/>
          <ENTRY name="ConnectionType" value="JDBC"/>
          <ENTRY name="HOSTNAME" value="localhost"/>
          <ENTRY name="DeployPassword" value="true"/>
          <ENTRY name="user" value="hr"/>
          <ENTRY name="ConnectionName" value="local_hr"/>
          <ENTRY name="SID" value="STGY"/>
          <ENTRY name="password">
             <![CDATA[{904}05DB46A9C39F51D1A4814423FFD9297C71]]>
          </ENTRY>
          <ENTRY name="JdbcDriver" value="oracle.jdbc.OracleDriver"/>
          <ENTRY name="ORACLE_JDBC_TYPE" value="thin"/>
          <ENTRY name="DeployPassword" value="true"/>
       </ConnectionDefinition>
    </BC4JConfig>

    Hi,
    reproduces for me. It appears that the parameter is not applied properly when executing the query.
    Frank

  • Primary Key for Read Only Entity Beans In EJB 3.0

    Hi,
    I have checked the spec for ejb 3.0 which mentions that, there is no common standard for the vendor to implement the Read only Entity Beans.
    My question over here is how it is implemented in OC4J??
    Do we need to specify a primary key attribute in the read-only entity bean?
    w.r.t BC4J(ADF) i remember, we used to create a read-only View Object with out specifying a primary key.
    Just want to check is that the way it works in EJB 3.0 (Implemented by OC4J).
    Thanks for your help in advance.
    Shiva

    Hi,
    Try using the JBoss embedded container:
    http://docs.codehaus.org/display/MAVENUSER/How+to+use+the+JBoss+Embedded+EJB3+Container+for+Unit+testing
    /klejs

  • Reading only a subset of keys from a map

    Hello all, I would appreciate a pointer with regard to maps. Here is my (simplified) requirement:
    I have a list of key and value parings that currently reside in a hashmap. The map looks something like this;
    Key ---------- Value
    Monday ---------- Doctor appointment
    Monday ---------- Grocery shopping
    Tuesday ---------- Hair appointment
    Tuesday ---------- Visit grandma
    Tuesday ---------- Make car payment
    Wednesday ---------- Paint garage
    Wednesday ---------- Dinner with George
    My actual requirement has different terminology, but the principle is the same.
    The key value is not unique, and the map will eventually have many thousands of entries. I need to read through my list very often in my application, and I want to be able to read only those entries for a given day and no others as this will significantly hurt the performance if I do.
    Could someone kindly give me a thought or two on the best (and fastest) way to achieve what I need. I have searched various sites looking for a clue, but I can't see anything, which is odd as I would have thought this was a common need.
    Many thanks in advance,
    Steve

    Maybe, you should have a look at the two links below,
    which will lead you to in-memory/embedded RDBMSes
    that easily can be integrated into your application.
    As they hold data in-memory, queries will be really
    quick. I did not check for persisting to a foreign
    DBMS, though. And neither of them is an OODBMS.
    http://www.h2database.com
    http://hsqldb.sourceforge.net/
    Thanks - I will take a look at the links.
    While I am here, I wonder if anyone could validate the approach I have taken for IO (from any source):
    For each object that needs to be persisted, I have create a second class called (ClassObjectName)List. This List class handles all IO, and provides methods to get and put objects and object lists. Whenever my app needs to do some IO, it does this through the List methods. This seems to be working very well for me, and completely hides the database implementation from the rest of the app, which is nice as the database may change in the future.
    As much as I like the way this approach works, this is my first real Java project, so I would be very interested to ear any views or alternatives from the experienced developers.
    Thanks to all and best regards,
    Steve

  • Exception: non-read-only mapping defined for the primary key field

    Hello.
    I'm new to Oracle and I created Java EE Web Project.
    And I created entities from tableA, tableB, tableC from my database.
    tableA has foreign key to tableB and has unidirectional Many-to-One relationship. tableC has two primary keys and one of these is foreign key to primary key in tableA. tableC also has unidirection Many-to-One relationship to tableA.
    Then I created session bean and data control from it, in design window, created read-only table from tableA.
    And I selected columns in tableA and also in tableB.
    I ran the application and saw the following exception in log window.
    Local Exception Stack:
    Exception [EclipseLink-46] (Eclipse Persistence Services - 2.1.3.v20110304-r9073): org.eclipse.persistence.exceptions.DescriptorException
    Exception Description: There should be one non-read-only mapping defined for the primary key field [tableC.tableA_ID].
    Descriptor: RelationalDescriptor(mypack.tableC --> [DatabaseTable(tableC)])
    tableA_ID is a primary key in tableA.
    How can I solve this error?
    Please help me.
    Edited by: 900471 on 2011. 12. 3 오전 5:32
    Edited by: 900471 on 2011. 12. 3 오전 5:33
    Edited by: 900471 on 2011. 12. 3 오전 5:33
    Edited by: 900471 on 2011. 12. 3 오전 5:34

    There are not enough details to be sure since you have not provided the mappings. From just the error, it looks like you are using the tableC.tableA_ID field as the foreign key in the ManyToOne relationship to A, but have marked it as insertable=false, writeable=false, meaning that it cannot be updated or used for inserts.
    Either make it writable (set the settings to true), or add another basic mapping/attribute in the entity for TableC that maps to the field which you can use to set when you insert a new tableC entity. A simple example is available at
    http://wiki.eclipse.org/EclipseLink/Examples/JPA/2.0/DerivedIdentifiers
    Best Regards,
    Chris

  • BC4J: getting info on foreign keys

    Hi,
    Why are getForeignKeyAttrs() and getEntityAssociations() from oracle.jbo.server.EntityDefImpl
    not public ?
    Is there any other way I can (should?) get information on foreign keys from Entities ?
    null

    Hi Laura,
    I appreciate your suggestion, but I think there is a fundamental problem with BC4J in this area:
    To get the Associations I would call getAssociationDefImpls() or getEntityAssociations() from oracle.jbo.server.EntityDefImpl right ?
    But they are not public (not accessible outside the package oracle.jbo.server)
    Also the class AssociationDefImpl and AssociationEnd are not public.
    How can I get to this kind of information from my own Entity or View classes ?
    I would really like to get to this information from my own DataWebBeans, so they can use usecombobox() on foreign keys instead of having to write this in the jsp page. (Which is far less generic)
    null

  • Making a JSP Form read only based on the form value present in DB

    I need suggestions/examples as i am newbie into java stream.
    I have two JSP pages 'Add Page' and 'Edit Page' .
    Add Page -> In add Page,I have many text boxes,select drop-downs options. In one select drop-down I have values as Locked and open .I can save this page contents in DB by entering those form values.
    Edit Page -> In eidtPage,once saved in DB, based on 'select drop-down- Locked and open' If it is locked i have to make all the fields (text boxes and select drop downs) as read only and if it is open i have to make it editable.
    I am taking all the values from DB,setting to 'form bean' and then setting up the values in session and forwarding it to JSP page to populate there .I am using beehive net UI tages in JSP. Please help me out.

    Not sure I'm following what you want, but this might help:
    In your select tag, put something like an 'onchange' event that calls a javascript function. In the javascript function it you add code to enable or disable your other fields based on the item selected from the drop down box.
    To determine what item was selected in a select tag, you write something like the following. I'm not sure of the exact syntax. You can look it up in a javascript book:
    var optionSelected = document.forms[0].selectTagName.options[document.forms[0].selectTagName.selectedIndex].value;
    To enable or disable a textfield, search for this in google:
    'jquery disable input'

Maybe you are looking for

  • How to install and Configure sharepoint foundation on administrator account ??

    Hi there guys dev I want to try sharepoint foundation for first time . I installed windows server 2012 ans sql server 2012 and then installed sharepoint foundation 2013 . now when I want to create a new server farm enter my windows name as database n

  • Adjust Graphics Performance on 2009 13" MBP

    How can I force the NVIDIA GeForce 9400M card to stay in high performance (as opposed to battery conversation) mode? I've seen the documentation on the Graphics Performance checkbox in the "Display" system pref, but that is only present in the 15" an

  • Html to image but wrong font

    I found some code to convert an html to an image. Using the codeexample, i get a nice png-image but it has a wrong font. I tried changing it in the html-source but it doesn't help. any idea? import javax.imageio.ImageIO; import javax.swing.*;* *impor

  • PA30, attaching documents through the employee personal master dat

    Dear freinds, We are attaching documents through the employee personal master data PA30, Our client wants to know where exactly these attachments are getting saved; Our SAP environment is ECC6.0 on AIX 5.3. so i exactly would like to know what is the

  • VAT identification number.

    Hi all,where i could change the  VAT identification  number in the invoice. there is going the wrong nor and i need  to modificate that. Thanks in advance and regards. William