Toplink mapping generator hangs...

I am using the preview 1013 Jdev version with a MySQL DB. The connection to the DB works fine.
When I try to generate the toplink mapping for a single small test table, the "generating offline database objects" progress bar just keeps going back and forth and the process hangs and I have to kill Jdev from the Task Manager.
Is this a known bug in the preview or am I doing something wrong?
Thanks much for any insight.
David Littman

David,
This is a known issue (bug 4373381) and will be addressed in the production version
Thanks
Prashanth

Similar Messages

  • Point Toplink map to exactly same schema but differnt schema

    Hi all,
    We want to point our Toplink mapping which is generated using a test schema to "real data schema" which has exact same structure.
    Is it possible to do it.?
    May be it will make more sense if I say, we want to edit WSDL of Database adapter and expect same adapter to go to the new schema connection (which we put there after editing the wsdl).
    I hope I explained and its the right place to ask the question.
    thanks in advnace

    Hi there,
    the best place to ask DBAdapter questions is probably Integration - Adapters.
    Integration - Adapters
    If in design time you create your database connection with one username but import tables belonging to a second username, then the toplink-mappings.xml will contain explicit schema references. This can cause troubles switching from development to production.
    At this point best thing you can do is edit toplink_mappings.xml and search and replace i.e. "SCOTT." with "". That will reduce any qualified table references in that file with unqualified ones, i.e. SCOTT.EMP -> EMP.
    If your (subsequent) problem is at runtime logging in as one user but wanting to interact with tables belonging to a second user, then in application-deployments/default/DbAdapter/oc4j-ra.xml, and in connectors/DbAdapter/DbAdapter/META-INF/ra.xml you could configure the property tableQualifier="<secondUserName>". However you will still need to make sure there are no explicit schema references in toplink_mappings.xml before this advanced 'tableQualifier' setting can take effect. This 'tableQualifier' setting was what Doug was referring to.
    Thanks
    Steve

  • Multiple Toplink Mapping files

    Hi All,
    I have 8 modules in my project, I would like to maintain separate toplink mapping file and persistence-config.xml file for each module.
    Ex: in struts we can have separate struts-config.xml file for each module like  struts-admin-config.xml, struts-moderator-config.xml, struts-dashboard-config.xml files and we will configure those information in web.xml file for Actionservlet input params.
    Is it possible to have multiple toplink mapping files and persistence configuration files for each module in a project.
    Thanks & Regards,
    B.V.Suresh Babu.

    Thanks a lot for your direction!
    I am using xtreme framework alongwith Toplink. I use codegen tool to generate extreme BOM (business object model) classes. I an unable to introduce my logic as you suggested to use Direct Mapping.
    I am not able to find more details and/or complete example to use any of your suggested approach. Please do send me any stuff you can send for the same.
    Regards,
    Raghav

  • Vulnerability - Oracle toplink mapping workbench password algorithm

    Could someone from Oracle post security contact info. This is regarding a possible vulnerability in TopLink referred to in this posting:
    http://marc.theaimsgroup.com/?l=bugtraq&m=107531028325112&w=2
    I would like to know Oracle's response to this item before I publish a report to our clients.
    Thanks,
    Mark Hoffman

    It has come to our attention that a 3rd party has published the algorithm used to obfuscate a database password stored in the runtime configuration file (project.xml or java source file) generated by the TopLink Mapping Workbench version 9.0.3.
    This database password is NOT used when TopLink is using an application server’s database connection pool and this issue does not apply. In this case TopLink uses a specified data source name and the application server manages the database password.
    For those not using the app server connection pool, the obfuscation is not meant to offer encryption protection for the password stored in the file. It is a mechanism meant to make the password in the file unreadable to the naked eye. It is not a replacement for proper file permission and access control to protect the file.
    It is an optional convenience feature that customers have requested as they have found it to be useful during development and internal testing. The only way the password is saved in the file is if the option that is explicitly marked “Save Password (Unencrypted)” is used.
    For encrypted security protection using technology such as Java Cryptography Extension (JCE), the unencrypted password can be set using APIs provided in the TopLink runtime libraries. A code example follows:
    boolean shouldLoginSession = false;
    DatabaseSession session = null;
    session = (DatabaseSession)SessionManager.getManager().getSession("MySessionName", shouldLoginSession);
    String password = //retrieve the password as an unencrypted string from somewhere
    session.getLogin().setPassword(password); //note this assumes that the user is already set in the project
    session.login();
    Guidelines:
    1.     If you are using the application server’s database connection pool, this issue does not apply. TopLink simply specifies a data source name and the application server manages, stores and encrypts the password.
    2.     If you are not using the application server’s database connection pool, use the optional Mapping Workbench feature to store the password in the project.xml or java source file for development or internal testing purposes only if there is proper file permission and access control to protect the file.
    3.     For deployment or unsecured development environments utilize the TopLink API’s provided that allow secure password encryption technology to be used.
    This issue only applies to version 9.0.3 and prior; in 9.0.4 the TopLink Mapping Workbench uses JCE to encrypt the file.
    Regards,
    Dennis Leung
    Oracle Corp.

  • TopLink Map issue

    Hi all
    i m very new to ADF ...
    while creating one toplink i selected emp as my table .it asks for toplinkmap in the wizard so i created new and it took some value by default.
    now when i rebuild this project it gives following error
    TopLink Map 'tlMap1' -> One of the packages is incomplete.
    Package dataprj -> One of the descriptors in this package is incomplete.
    Descriptor Emp -> No primary keys specified in APPS.EMP table.
    End TopLink Map 'tlMap1'
    pls help me out to fix this issue.

    hi user530923
    Maybe you should look for the "EMP" node in the "Offline Database Sources" node of your JDeveloper project (using the Applications Navigator in JDeveloper).
    If you right-click that "EMP" node, you can select "Properties...". The Edit Offline Table dialog should show. Select "Primary Key Information" on the left. Has a primary key been defined?
    You could also check "Decriptor Info" tab for your "Emp" descriptor. Select "Application Sources" > "TopLink" > "tlMap1" in your JDeveloper project, in the Structure pane double-click the "Emp" descriptor and check "Primary Keys" on the "Decriptor Info" tab.
    success
    Jan Vervecken

  • Exceptions while Opening a older toplink map in toplink 11g workbench

    Hi
    I have a toplink map used with toplink 10g. Now that after moving to toplink 11g I am unable to open the map using workbench. I am getting the following exception while opening.
    Inputs to solve this probelm are welcomed.
    oracle.toplink.workbench.framework.OpenException: Exception [TOPLINK-106] (Oracle TopLink - 11g (11.1.1.0.1) (Build 081030)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The method [legacySetDatabasePlatformNameForTopLink] on the object is throwing an exception.
    Argument: [null]
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.IllegalArgumentException: missing database platform named: null
    Mapping: oracle.toplink.mappings.DirectToFieldMapping[databasePlatformName-->platform-name]
    Descriptor: XMLDescriptor(oracle.toplink.workbench.mappingsmodel.db.MWDatabase --> [DatabaseTable(database)])
         at oracle.toplink.workbench.mappingsplugin.MappingsPlugin.open(MappingsPlugin.java:293)
         at oracle.toplink.workbench.framework.internal.FrameworkApplication.open(FrameworkApplication.java:689)
         at oracle.toplink.workbench.framework.internal.FrameworkNodeManager.openCallback(FrameworkNodeManager.java:341)
         at oracle.toplink.workbench.framework.internal.RunnableProjectLoader.run2(RunnableProjectLoader.java:76)
         at oracle.toplink.workbench.framework.internal.RunnableProjectLoader.run(RunnableProjectLoader.java:63)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: Exception [TOPLINK-106] (Oracle TopLink - 11g (11.1.1.0.1) (Build 081030)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The method [legacySetDatabasePlatformNameForTopLink] on the object is throwing an exception.
    Argument: [null]
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.IllegalArgumentException: missing database platform named: null
    Mapping: oracle.toplink.mappings.DirectToFieldMapping[databasePlatformName-->platform-name]
    Descriptor: XMLDescriptor(oracle.toplink.workbench.mappingsmodel.db.MWDatabase --> [DatabaseTable(database)])
         at oracle.toplink.exceptions.DescriptorException.targetInvocationWhileSettingValueThruMethodAccessor(DescriptorException.java:1702)
         at oracle.toplink.internal.descriptors.MethodAttributeAccessor.setAttributeValueInObject(MethodAttributeAccessor.java:202)
         at oracle.toplink.mappings.DatabaseMapping.setAttributeValueInObject(DatabaseMapping.java:1228)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1118)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:277)
         at oracle.toplink.sdk.SDKAggregateObjectMapping.buildCompositeObject(SDKAggregateObjectMapping.java:58)
         at oracle.toplink.mappings.foundation.AbstractCompositeObjectMapping.valueFromRow(AbstractCompositeObjectMapping.java:231)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1117)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:277)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:582)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:439)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:389)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:511)
         at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:433)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:874)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:674)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:835)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:397)
         at oracle.toplink.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2260)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1074)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1058)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1017)
         at oracle.toplink.internal.sessions.AbstractSession.readObject(AbstractSession.java:2822)
         at oracle.toplink.workbench.mappingsio.legacy.PersistenceTools50.readMWProjectNamed(PersistenceTools50.java:323)
         at oracle.toplink.workbench.mappingsio.legacy.LegacyIOFacade.read50Project(LegacyIOFacade.java:21)
         at oracle.toplink.workbench.mappingsio.ProjectReader.readLegacyProject(ProjectReader.java:248)
         at oracle.toplink.workbench.mappingsio.ProjectReader.read(ProjectReader.java:104)
         at oracle.toplink.workbench.mappingsio.ProjectIOManager.read(ProjectIOManager.java:59)
         at oracle.toplink.workbench.mappingsplugin.MappingsPlugin.open(MappingsPlugin.java:289)
         ... 5 more
    Caused by: java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at oracle.toplink.internal.descriptors.MethodAttributeAccessor.setAttributeValueInObject(MethodAttributeAccessor.java:174)
         at oracle.toplink.mappings.DatabaseMapping.setAttributeValueInObject(DatabaseMapping.java:1228)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1118)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:277)
         at oracle.toplink.sdk.SDKAggregateObjectMapping.buildCompositeObject(SDKAggregateObjectMapping.java:58)
         at oracle.toplink.mappings.foundation.AbstractCompositeObjectMapping.valueFromRow(AbstractCompositeObjectMapping.java:231)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1117)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:277)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:582)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:439)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:389)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:511)
         at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:433)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:874)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:674)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:835)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:397)
         at oracle.toplink.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2260)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1074)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1058)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1017)
         at oracle.toplink.internal.sessions.AbstractSession.readObject(AbstractSession.java:2822)
         at oracle.toplink.workbench.mappingsio.legacy.PersistenceTools50.readMWProjectNamed(PersistenceTools50.java:323)
         at oracle.toplink.workbench.mappingsio.legacy.LegacyIOFacade.read50Project(LegacyIOFacade.java:21)
         at oracle.toplink.workbench.mappingsio.ProjectReader.readLegacyProject(ProjectReader.java:248)
         at oracle.toplink.workbench.mappingsio.ProjectReader.read(ProjectReader.java:104)
         at oracle.toplink.workbench.mappingsio.ProjectIOManager.read(ProjectIOManager.java:59)
    Caused by: java.lang.IllegalArgumentException: missing database platform named: null
         at oracle.toplink.workbench.platformsmodel.DatabasePlatformRepository.platformNamed(DatabasePlatformRepository.java:334)
         at oracle.toplink.workbench.mappingsmodel.db.MWDatabase.setDatabasePlatformNameForTopLink(MWDatabase.java:1013)
         at oracle.toplink.workbench.mappingsmodel.db.MWDatabase.legacySetDatabasePlatformNameForTopLink(MWDatabase.java:1133)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at oracle.toplink.internal.descriptors.MethodAttributeAccessor.setAttributeValueInObject(MethodAttributeAccessor.java:174)
         at oracle.toplink.mappings.DatabaseMapping.setAttributeValueInObject(DatabaseMapping.java:1228)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1118)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:277)
         at oracle.toplink.sdk.SDKAggregateObjectMapping.buildCompositeObject(SDKAggregateObjectMapping.java:58)
         at oracle.toplink.mappings.foundation.AbstractCompositeObjectMapping.valueFromRow(AbstractCompositeObjectMapping.java:231)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1117)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:277)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:582)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:439)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:389)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:511)
         at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:433)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:874)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:674)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:835)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:397)
         at oracle.toplink.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2260)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1074)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1058)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1017)
         at oracle.toplink.internal.sessions.AbstractSession.readObject(AbstractSession.java:2822)
         at oracle.toplink.workbench.mappingsio.legacy.PersistenceTools50.readMWProjectNamed(PersistenceTools50.java:323)
         at oracle.toplink.workbench.mappingsio.legacy.LegacyIOFacade.read50Project(LegacyIOFacade.java:21)
         at oracle.toplink.workbench.mappingsio.ProjectReader.readLegacyProject(ProjectReader.java:248)
         at oracle.toplink.workbench.mappingsio.ProjectReader.read(ProjectReader.java:104)
         at oracle.toplink.workbench.mappingsio.ProjectIOManager.read(ProjectIOManager.java:59)
         at oracle.toplink.workbench.mappingsplugin.MappingsPlugin.open(MappingsPlugin.java:289)
         at oracle.toplink.workbench.framework.internal.FrameworkApplication.open(FrameworkApplication.java:689)
         at oracle.toplink.workbench.framework.internal.FrameworkNodeManager.openCallback(FrameworkNodeManager.java:341)
         at oracle.toplink.workbench.framework.internal.RunnableProjectLoader.run2(RunnableProjectLoader.java:76)
         at oracle.toplink.workbench.framework.internal.RunnableProjectLoader.run(RunnableProjectLoader.java:63)
         at java.lang.Thread.run(Thread.java:595)
    Sree

    Hi Sree,
    If you could email me a copy of the whole mapping workbench project, I can probably fix this issue for you.
    Thanks,
    Les

  • Reverse engineer Toplink mapping to a ERM diagram

    Hi,
    We have a Toplink mapping for our application, the problem is that in the database no foreign keys relationship are defined, thus the relations
    are only in our Toplink model and not in our database. Id like to create a ERM model with for instance the new "Oracle SQL Developer Data Modeler".
    Is there a way do reverse engineer a Toplink model to a ERM diagram?
    Regards Jonas.

    Hi Jonas,
    unfortunately there is no support for Toplink.
    Regards,
    Philip

  • Every table need primary key in toplink mapping to fetch the data

    Hi everyone,
    we are working on toplink mapping , it neccessary every table needs primary key. if yes, gave me example.

    Hi everyone,
    Alterations in database will not be automatically reflected in toplink so, there is any alternative
    with regards
    abusufian

  • TopLink map a field which name in low case

    I used Oracle ADF to modeling my database table. My table name and all filed names are in low cases. I used TopLink Create Java Objects from Tables wizard to crate Java objects from my table, and created map. In the TopLink mapping, the query keys are in low cases. But when my session bean execute the named query, the query statement from executeQuery doesn't put double quotes around the filed name and table name. The query statement like: select name from space. So it will cause error like "java.sql.SQLException: ORA-00942: table or view does not exist". The query statement should like:
    select "name" from "space";
    Can anyone tell me where to edit the mapping or customize code to put double quotes around field name and table name?

    I'm not sure if the JDev UI has an option to output table and field names with quotes. You could use a SessionCustomizer in your TopLink sessions.xml file to iterate over the Session's descriptors and change each of their table and field names to include the " character.
    In general you will make you life much easier if you just create the tables and field using normal upper case or case insensitive names.
    It would be nice to have an easier way to quote all table and field names, please feel free to log this issues on EclipseLink Bugzilla.
    James : http://www.eclipselink.org

  • Toplink map: No primary keys defined for table, what can I do?

    I have the following DDL:
    CREATE TABLE CAM_CUSTINFO.CUSTOMERMASTER (
         CUSTID CHAR(15) NOT NULL,
         BILLTOCUSTID CHAR(15) NOT NULL,
         GROUPID NUMBER(11) NOT NULL,
         CUSTSTATUS CHAR(1) NOT NULL,
         CUSTSTATUSDT DATE,
         NAMESHORT CHAR(10) NOT NULL,
         SINCEDT DATE NOT NULL,
         ADDDT DATE NOT NULL,
         FIRSTNAME CHAR(20) NOT NULL,
         MIDDLENAME CHAR(15) NOT NULL,
         LASTNAME CHAR(30) NOT NULL,
         SUFFIXNAME CHAR(15) NOT NULL,
         NAMETYPECD CHAR(1) NOT NULL,
         TITLE CHAR(15) NOT NULL,
         SALUTATIONCD CHAR(6) NOT NULL,
         COMPANYNAME CHAR(40) NOT NULL,
         PRIMADDRSEQBILL NUMBER(5) NOT NULL,
         PRIMADDRSEQSOLD NUMBER(5) NOT NULL,
         PRIMADDRSEQSHIP NUMBER(5) NOT NULL,
         NAME2 CHAR(40) NOT NULL,
         CUSTLEVEL CHAR(1) NOT NULL,
         TAXABLECD CHAR(1) NOT NULL,
         TAXPAYERID CHAR(14) NOT NULL,
         CHGID CHAR(10) NOT NULL,
         CHGDT DATE,
         BILLCURRENCYCD CHAR(10) NOT NULL,
         BILLDAY NUMBER(5) NOT NULL,
         HOLDBILLINGIND CHAR(1) NOT NULL,
         PAYMENTTERMCD CHAR(10) NOT NULL,
         CANCELSTATUSIND CHAR(1) NOT NULL,
         CANCELSTATUSDT DATE,
         INDUSTRYCD CHAR(30));
    CREATE UNIQUE INDEX CAM_CUSTINFO.PK_CUSTOMERMASTER ON CAM_CUSTINFO.CUSTOMERMASTER (CUSTID);
    CREATE INDEX CAM_CUSTINFO.IX_CUSTOMERMASTERBILLTOCUSTID ON CAM_CUSTINFO.CUSTOMERMASTER (BILLTOCUSTID, CUSTID);
    CREATE INDEX CAM_CUSTINFO.IX_CUSTOMERMASTERCOMPNAME ON CAM_CUSTINFO.CUSTOMERMASTER (COMPANYNAME);
    CREATE INDEX CAM_CUSTINFO.IX_CUSTOMERMASTERGROUPID ON CAM_CUSTINFO.CUSTOMERMASTER (GROUPID);
    CREATE INDEX CAM_CUSTINFO.IX_CUSTOMERMASTERNAME ON CAM_CUSTINFO.CUSTOMERMASTER (LASTNAME, FIRSTNAME);
    CREATE INDEX CAM_CUSTINFO.IX_CUSTOMERMASTERBILLDAY ON CAM_CUSTINFO.CUSTOMERMASTER (BILLDAY, CUSTID);
    CREATE INDEX CAM_CUSTINFO.I_00_INDCD ON CAM_CUSTINFO.CUSTOMERMASTER (INDUSTRYCD);
    How do I add this to a Toplink Map? I always get the error:
    Descriptor Custaddr -> Some mappings are incomplete.
    Descriptor Custaddr -> No primary keys specified in CAM_CUSTINFO.CUSTOMERMASTER table.
    Descriptor Custaddr -> The following Query Keys do not have associated database fields: adddt, address1, address2, address3, address4, addressseqnum, billtoaddr, chgdt, chgid, city, country, county, custid, department, descr, effstatus, fax, fips, geocode, houseType, incitylimit, latitude, longitude, num1, num2, phone, phonecountry, phoneext, phonesecondary, postal, secondaryext, shiptoaddr, soldtoaddr, state, taxcd
    Mapping adddt -> No database field is selected.
    Mapping address1 -> No database field is selected.
    Mapping address2 -> No database field is selected.
    Mapping address3 -> No database field is selected.
    Mapping address4 -> No database field is selected.
    Mapping addressseqnum -> No database field is selected.
    Mapping billtoaddr -> No database field is selected.
    Mapping chgdt -> No database field is selected.
    Mapping chgid -> No database field is selected.
    Mapping city -> No database field is selected.
    Mapping country -> No database field is selected.
    Mapping county -> No database field is selected.
    Mapping custid -> No database field is selected.
    Mapping department -> No database field is selected.
    Mapping descr -> No database field is selected.
    Mapping effstatus -> No database field is selected.
    Mapping fax -> No database field is selected.
    Mapping fips -> No database field is selected.
    Mapping geocode -> No database field is selected.
    Mapping houseType -> No database field is selected.
    Mapping incitylimit -> No database field is selected.
    Mapping latitude -> No database field is selected.
    Mapping longitude -> No database field is selected.
    Mapping num1 -> No database field is selected.
    Mapping num2 -> No database field is selected.
    Mapping phone -> No database field is selected.
    Mapping phonecountry -> No database field is selected.
    Mapping phoneext -> No database field is selected.
    Mapping phonesecondary -> No database field is selected.
    Mapping postal -> No database field is selected.
    Mapping secondaryext -> No database field is selected.
    Mapping shiptoaddr -> No database field is selected.
    Mapping soldtoaddr -> No database field is selected.
    Mapping state -> No database field is selected.
    Mapping taxcd -> No database field is selected.
    This isn't in the Developer's guide?
    Detailed information would be greatly appreciated.
    Thanks,
    --Todd                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Todd,
    Follow these steps.
    1. First map your CustomerMaster descriptor either manually or by using the automap wizard.
    2. Specify the primary key(s) (it does not have to be on the database) by checking appropriate fields listed under the "Primary Keys:" in "Descriptor Info" tab.
    3. Run the mapping status report to make sure you have no errors in mapping.
    Hope this helps.

  • Toplink-Map disappeared in Applications Navigator

    Hi,
    I can no longer find the toplinkmap in the applications navigator. This presumably happened when i changed the database connection in the sessions.xml from a native connection to a j2ee-datasource. The *.mwp-File is physically still there, 'Search in Files' also finds occurences of strings in it, but when double-clicking the according resultitem only a pane with a close-icon shows up. So for some reason jDeveloper ignores the presence of the toplink map. The application itself works fine, but i can no longer inspect or change the toplink map, e.g. can not add/remove queries to/from it.
    Any idea someone? Thanks,
    Magnus

    I fixed it myself by comparing the content of the jpr-File with that one of a 'working' Project.

  • Toplink mapping for one-to-many object inheritance

    Hi
    I currently have a Person object, extended by two specialist classes, PremisesLicenceHolder and PersonalLicenceHolder. I have mapped this in Toplink and it works fine saving a person into the specialist tables using the primary key person_id.
    However, a single Person may be extended any number of times by either one or both of the two specialist types. So, a Person may be a PremisesLicenceHolder many times over for different premises and licences, and also a PersonalLicenceHolder several times over.
    Is it possible to map this object model in Toplink avoiding duplicate person_id primary keys in the specialist tables?
    Thanks

    Hi,
    I am happy that my object model fits the problem domain. The Person and Organisation objects contain base information and have the primary keys person_id and organisation_id. It is important that there is no duplication of person and organisation records, no matter how many times they are saved in different roles.
    There are two types of licenceholder in the problem domain, and the ILicenceHolder interface defines information and methods that are common to both. The PersonalLicenceHolder object represents one of these types of licenceholder, and is always a person, so this class extends Person and implements ILicenceHolder.
    The additional information and methods that are required by the second type of licenceholder are defined in the interface IPremisesLicenceHolder, which extends ILicenceHolder. Premises licence holders can either be people or organisations, so I have two objects to represent these - PremisesLicenceHolderPerson which implements IPremisesLicenceHolder and extends Person, and PremisesLicenceHolderOrganisation which implements IPremisesLicenceHolder and extends Organisation.
    The model is further complicated by the fact that any single Person may be both a PersonalLicenceHolder and a PremisesLicenceHolderPerson, and may be so several times over. In this case, the same basic Person information needs to be linked to several different sets of licenceholder information. In the same way, any single Organisation may be a PremisesLicenceHolderOrganisation several times over.
    Sorry this is complicated!
    My initial idea for the schemas is to have Person and Organisation tables containing the basic information with the primary keys person_id and organisation_id. The Person table would have a one-to-many relationship with both the PersonalLicenceHolder table (pk: personalLicenceHolder_id, fk: person_id), and the PremisesLicenceHolderPerson table (pk: premisesLicenceHolderPerson_id, fk: person_id). There would also be a one-to-many relationship between the Organisation table and the PremisesLicenceHolderOrganisation table (pk: premisesLicenceHolderOrganisation_id, fk: organisation_id).
    I am flexible as to the design of my schema though, as I am happy to adopt any that will facilitate the Toplink Mapping.
    Thanks for your help with this.

  • N-m mapping generates blobs in ref-table

    Why generates the schematool blobs in the reference-table of a n-m mapping?
    I want to map an existing schema and this isn't possible with blobs. I
    expected a table with the primary-keys of each class.

    Abe White wrote:
    Why generates the schematool blobs in the reference-table of a n-m mapping?
    I want to map an existing schema and this isn't possible with blobs. I
    expected a table with the primary-keys of each class.
    Kodo fully supports n-m and m-m mappings. If you post your .jdo files and
    describe your schema somehow we can probably help you find out where the
    problem lies.Hello,
    here I send you a short and useless example which contains
    my two problems:
    - n-m mapping generates blobs in ref-table
    - multi-table inheritance mapping
    This are my classes:
    Class Person
    String firstname
    String lastname
    Class Employee extends Person
    long personalNumber
    Collection memberOf ( TYPE Project )
    Class Project
    String projectname
    Collection members ( TYPE Employee )
    The jdo-metadata:
    <?xml version="1.0"?>
    <jdo>
    <package name="test">
    <class name="Person" identity-type="application"
    objectid-class="PersonPK">
    <extension vendor-name="kodo" key="table" value="DB_PERSON" />
    <extension vendor-name="kodo" key="lock-column" value="VERSION_ID" />
    <extension vendor-name="kodo" key="class-column" value="none" />
    <field name="firstname" null-value="exception" primary-key="true">
    <extension vendor-name="kodo" key="data-column"
    value="FIRSTNAME_TXT" />
    <extension vendor-name="kodo" key="column-length" value="50"/>
    </field>
    <field name="lastname" null-value="exception" primary-key="true">
    <extension vendor-name="kodo" key="data-column"
    value="LASTNAME_TXT" />
    <extension vendor-name="kodo" key="column-length" value="50"/>
    </field>
    </class>
    <!-- I tried both -->
    <!-- <class name="Employee"
    persistence-capable-superclass="test.Person"> -->
    <class name="Employee" identity-type="application"
    objectid-class="PersonPK" persistence-capable-superclass="test.Person">
    <extension vendor-name="kodo" key="table" value="DB_EMPLOYEE" />
    <extension vendor-name="kodo" key="lock-column" value="VERSION_ID" />
    <extension vendor-name="kodo" key="class-column" value="none" />
    <field name="personalNumber" null-value="exception">
    <extension vendor-name="kodo" key="data-column"
    value="PERSONAL_NUM" />
    </field>
    <field name="memberOf" null-value="none">
    <extension vendor-name="kodo" key="inverse" value="members" />
    <extension vendor-name="kodo" key="table"
    value="DB_EMPLOYEE_PROJECT_REF" />
    <extension vendor-name="kodo" key="projectname-data-column"
    value="PROJECT_NAME" />
    <extension vendor-name="kodo" key="firstname-ref-column"
    value="EMPLOYEE_FIRSTNAME" />
    <extension vendor-name="kodo" key="lastname-ref-column"
    value="EMPLOYEE_LASTNAME" />
    </field>
    </class>
    <class name="Project" identity-type="application"
    objectid-class="ProjectPK">
    <extension vendor-name="kodo" key="table" value="DB_PROJECT" />
    <extension vendor-name="kodo" key="lock-column" value="VERSION_ID" />
    <extension vendor-name="kodo" key="class-column" value="none" />
    <field name="projectname" null-value="exception" primary-key="true">
    <extension vendor-name="kodo" key="data-column" value="NAME_TXT" />
    <extension vendor-name="kodo" key="column-length" value="50"/>
    </field>
    <field name="members" null-value="none">
    <extension vendor-name="kodo" key="inverse" value="memberOf" />
    <extension vendor-name="kodo" key="table"
    value="DB_EMPLOYEE_PROJECT_REF" />
    <extension vendor-name="kodo" key="firstname-data-column"
    value="EMPLOYEE_FIRSTNAME" />
    <extension vendor-name="kodo" key="lastname-data-column"
    value="EMPLOYEE_LASTNAME" />
    <extension vendor-name="kodo" key="projectname-ref-column"
    value="PROJECT_NAME" />
    </field>
    </class>
    </package>
    </jdo>
    Kodo generates this db-schema:
    Table db_person
    Column VERSION_ID ( Type int(11) )
    Column FIRSTNAME_TXT ( Type varchar(50) ) <PrimaryKey>
    Column LASTNAME_TXT ( Type varchar(50) ) <PrimaryKey>
    Table db_employee
    Column PERSONAL_NUM ( Type bigint(20) )
    Table db_project
    Column VERSION_ID ( Type int(11) )
    Column NAME_TXT ( Type varchar(50) ) <PrimaryKey>
    Table db_employee_project_ref
    Column MEMBERSX ( Type blob )
    Column MEMBEROFX ( Type blob )
    I expected this:
    Table db_person
    Column VERSION_ID ( Type int(11) )
    Column FIRSTNAME_TXT ( Type varchar(50) ) <PrimaryKey>
    Column LASTNAME_TXT ( Type varchar(50) ) <PrimaryKey>
    Table db_employee
    Column PERSONAL_NUM ( Type bigint(20) )
    **** I think Kodo needs this reference to the base-class ****
    Column FIRSTNAME_TXT ( Type varchar(50) ) <ForeignKey>
    Column LASTNAME_TXT ( Type varchar(50) ) <ForeignKey>
    Table db_project
    Column VERSION_ID ( Type int(11) )
    Column NAME_TXT ( Type varchar(50) ) <PrimaryKey>
    Table db_employee_project_ref
    **** the mapping should use the primary keys, no blobs ****
    Column EMPLOYEE_FIRSTNAME ( Type varchar(50) ) <ForeignKey>
    Column EMPLOYEE_LASTNAME ( Type varchar(50) ) <ForeignKey>
    Column PROJECT_NAME ( Type varchar(50) ) <ForeignKey>

  • JDev 9.0.5.2 Error When Opening TopLink Mapping Project

    I was in the middle of mapping my classes and realized that I needed some more attributes. So I added the attributes to my classes, closed the IDE (since this is generally the only way to get the TopLink Mapping Project to notice the changes), and now, when I reopen the IDE, I get the following:
    Exception [TOPLINK-98] (OracleAS TopLink - 10g (9.0.4) (Build 031126)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The underlying descriptor callback method [postBuild], with parameter (DescriptorEvent), triggered an exception.
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.NullPointerException
    Descriptor: XMLDescriptor(oracle.toplink.workbench.model.MWProject --> [DatabaseTable(project)])
            at oracle.toplink.exceptions.DescriptorException.targetInvocationWhileEventExecution(DescriptorException.java:1364)
            at oracle.toplink.publicinterface.DescriptorEventManager.executeEvent(DescriptorEventManager.java:133)
            at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:179)
            at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:331)
            at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:226)
            at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:344)
            at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:498)
            at oracle.toplink.queryframework.ReadQuery.execute(ReadQuery.java:111)
            at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:1968)
            at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1096)
            at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1048)
            at oracle.toplink.publicinterface.Session.readObject(Session.java:2502)
            at oracle.toplink.workbench.ui.WorkbenchSession.getMWProjectNamed(WorkbenchSession.java:270)
            at oracle.toplink.addin.persistence.MWJDeveloperPersistence.open(MWJDeveloperPersistence.java:200)
            at oracle.toplink.tsceditor.persistence.PersistenceManager.open(PersistenceManager.java:942)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.openMWProject(MWJDeveloperMediator.java:167)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.locateAndOpenProjectImp(MWJDeveloperMediator.java:691)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.locateAndOpenProject(MWJDeveloperMediator.java:665)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.getMWProjectAndOpenIfNecessary(MWJDeveloperMediator.java:1098)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.getMWProjectAndOpenIfNecessary(MWJDeveloperMediator.java:1070)
            at oracle.toplink.addin.appnav.JProjectObserver.handleObjectOpened(JProjectObserver.java:115)
            at oracle.toplink.addin.appnav.JProjectObserver.update(JProjectObserver.java:65)
            at oracle.ide.IdeSubject.notifyObservers(IdeSubject.java:215)
            at oracle.ide.model.DefaultDocument.notifyObservers(DefaultDocument.java:273)
            at oracle.ide.addin.UpdateMessage.fireObjectOpened(UpdateMessage.java:543)
            at oracle.ide.model.DataNode.fireObjectOpened(DataNode.java:191)
            at oracle.ide.model.DataNode$1.run(DataNode.java:168)
            at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
            at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)
            at oracle.toplink.publicinterface.DescriptorEventManager.executeEvent(DescriptorEventManager.java:125)
            ... 32 more
    Caused by: java.lang.NullPointerException
            at oracle.toplink.workbench.model.desc.MWMappingDescriptor.classHierarchyChangedFor(MWMappingDescriptor.java:758)
            at oracle.toplink.workbench.model.MWProject.classHierarchyChangedFor(MWProject.java:1086)
            at oracle.toplink.workbench.model.meta.MWClass.setSuperclass(MWClass.java:877)
            at oracle.toplink.workbench.model.meta.MWClass.setInterface(MWClass.java:837)
            at oracle.toplink.workbench.model.meta.MWClass.resetStubInterface(MWClass.java:2398)
            at oracle.toplink.workbench.model.meta.MWClass.resetStubInterfaces(MWClass.java:2386)
            at oracle.toplink.workbench.model.meta.MWClassRepository.resetStubInterfaces(MWClassRepository.java:1385)
            at oracle.toplink.workbench.model.meta.MWClassRepository.postProjectBuild(MWClassRepository.java:1380)
            at oracle.toplink.workbench.model.MWModelObject.postProjectBuild(MWModelObject.java:522)
            at oracle.toplink.workbench.model.MWProject.postBuild(MWProject.java:1646)
            ... 37 moreIn the IDE I get a much shorter version of the excpetion, the above is what I see on the commandline from which the IDE was launched.
    I can no longer work on my mappings project at all.

    John,
    You mentioned "I closed the IDE so that the TopLink project would pick up the changes..."
    1. We need to find out why you needed to close the IDE? Was TopLink mapping editor not picking up your changes?
    2. I am sure you did not modified .java outside of Jdev, but in case if you did, let me know.
    3. After removing a superclass attribute, did you save all changes?
    4. We tried various combinations, but were unable to reproduce the project reopen issue that you mentioned was fixed by changing the ClassDescriptor.xml. It would be extremely helpful if you could either send us (anuj dot k dot jain at oracle dot com) a project that can reproduce this issue, or outline the exact steps.

  • StackOverflowError after adding a table to a TopLink Map

    Hello,
    I am really puzzled by the next problem. After adding a table (Customer) to an existing TopLink Map, I get the same kind of error for every query in the project that I use.
    ERROR J2EE EJB8006 [CustomerToplinkTestPublicFacade:public java.util.List com.companyname.toplinktest.model.CustomerToplinkTestPublicFacadeBean.findCustomersByCompany(java.lang.String,java.lang.String)] exception occurred during method invocation: javax.ejb.EJBException: java.lang.StackOverflowError
    I get this with every page and every query, just change the name “findCustomersByCompany” to the name of the named query. Otherwise all pages seems to have the correct behaviour Removing the Customer-table from the application solved all problems, and they reoccurred after adding the table again.
    I have no clue why this happens, the only thing that might be useful is the fact that the Customer-table is also a part of a database view which I already use.
    … but why would that cause errors on queries it has absolutely no relation to…
    Kind regards,
    Nemata

    hello,
    another update on my testcases. I have used the following procedure to narrow down the source of the problem.
    First I create one or more TopLink pojo's based on my database tables and views, add them to a session bean and create the data controls. I'm always working with the default named queries (selectAll).
    Then I create a .jspx file, drag and drop a data control from the data control palette to create an ADF table with the defaults...
    and run... with one of two outcomes.
    I either get all the data from the table (correct) or I get a message "no rows yet" and an error message in the log window "2006-05-04 12:37:40.214 ERROR J2EE EJB8006 [testCustomerSession:public java.util.List model.testCustomerSessionBean.findAllCompany()] exception occurred during method invocation: javax.ejb.EJBException: java.lang.StackOverflowError"
    This is an overview of the testing I have done:
    Objects created | ADF table | Error
    Customer | Customer | Yes
    Company | Company | No
    Customer and Company | Company | Yes
    Company and ViewOfCustomer | Company | No
    Company and ViewOfCustomer | ViewOfCustomer | No
    Company and Person | Company | No
    ViewOfCustomer is a database view with the same data as the Customer. So the table Customer seems to cause the problem.
    Does anybody have an idea why a database table might cause such distinct problems ?
    Kind regards,
    Nemata

Maybe you are looking for