One to many mappings and combination generation

Please help folks,
I want to perform one to many mapping i.e a single row of data will be taken from a single table Table 'A' into Hashtable A and it has to be matched with 'n' number of rows from another table Table 'B' taken into Hashtable B. The no. of rows selected from B can be 1/2.... upto n. For performing this mapping iam using a Combination Generator Code which will Key nos. to be selected for checking whether they can be mapped and then further processing is done on these key nos. returned by the combination generator. The code for combination generator is given below.
The issue is say if there are about 50 rows in table B then no of combinations possible are 2 ^ 50, which is just too much for the PC to handle i.e the code takes about 4-5 days of processing time. 256 MB RAM, P4. The mapping has to be done in 30 minutes!!!! Ne ideas folks????
// Systematically generate combinations.
import java.math.BigInteger;
public class CombinationGenerator {
private int[] a;
private int n;
private int r;
private BigInteger numLeft;
private BigInteger total;
// Constructor
public static void main(String[] args)
String[] elements = {"a", "b", "c", "d", "e", "f", "g"};
int[] indices;
CombinationGenerator x = new CombinationGenerator (elements.length, 3);
StringBuffer combination;
while (x.hasMore ()) {
combination = new StringBuffer ();
indices = x.getNext ();
for (int i = 0; i < indices.length; i++) {
combination.append (elements[indices[i]]);
System.out.println (combination.toString ());
public CombinationGenerator (int n, int r) {
if (r > n) {
throw new IllegalArgumentException ();
if (n < 1) {
throw new IllegalArgumentException ();
this.n = n;
this.r = r;
a = new int[r];
BigInteger nFact = getFactorial (n);
BigInteger rFact = getFactorial (r);
BigInteger nminusrFact = getFactorial (n - r);
total = nFact.divide (rFact.multiply (nminusrFact));
reset ();
// Reset
public void reset () {
for (int i = 0; i < a.length; i++) {
a[i] = i;
numLeft = new BigInteger (total.toString ());
// Return number of combinations not yet generated
public BigInteger getNumLeft () {
return numLeft;
// Are there more combinations?
public boolean hasMore () {
return numLeft.compareTo (BigInteger.ZERO) == 1;
// Return total number of combinations
public BigInteger getTotal () {
return total;
// Compute factorial
private static BigInteger getFactorial (int n) {
BigInteger fact = BigInteger.ONE;
for (int i = n; i > 1; i--) {
fact = fact.multiply (new BigInteger (Integer.toString (i)));
return fact;
// Generate next combination (algorithm from Rosen p. 286)
public int[] getNext () {
if (numLeft.equals (total)) {
numLeft = numLeft.subtract (BigInteger.ONE);
return a;
int i = r - 1;
while (a[i] == n - r + i) {
i--;
System.out.println("inside while");
a[i] = a[i] + 1;
for (int j = i + 1; j < r; j++) {
a[j] = a[i] + j - i;
numLeft = numLeft.subtract (BigInteger.ONE);
return a;

Next time you post, see the formatting guidelines [url http://forum.java.sun.com/features.jsp#Formatting]here. //--------------------------------------
// Systematically generate combinations.
import java.math.BigInteger;
public class CombinationGenerator {
private int[] a;
private int n;
private int r;
private BigInteger numLeft;
private BigInteger total;
// Constructor
public static void main(String[] args)
String[] elements = {"a", "b", "c", "d", "e", "f", "g"};
int[] indices;
CombinationGenerator x = new CombinationGenerator (elements.length, 3);
StringBuffer combination;
while (x.hasMore ()) {
combination = new StringBuffer ();
indices = x.getNext ();
for (int i = 0; i < indices.length; i++) {
combination.append (elements[indices]);
System.out.println (combination.toString ());
public CombinationGenerator (int n, int r) {
if (r > n) {
throw new IllegalArgumentException ();
if (n < 1) {
throw new IllegalArgumentException ();
this.n = n;
this.r = r;
a = new int[r];
BigInteger nFact = getFactorial (n);
BigInteger rFact = getFactorial (r);
BigInteger nminusrFact = getFactorial (n - r);
total = nFact.divide (rFact.multiply (nminusrFact));
reset ();
// Reset
public void reset () {
for (int i = 0; i < a.length; i++) {
a = i;
numLeft = new BigInteger (total.toString ());
// Return number of combinations not yet generated
public BigInteger getNumLeft () {
return numLeft;
// Are there more combinations?
public boolean hasMore () {
return numLeft.compareTo (BigInteger.ZERO) == 1;
// Return total number of combinations
public BigInteger getTotal () {
return total;
// Compute factorial
private static BigInteger getFactorial (int n) {
BigInteger fact = BigInteger.ONE;
for (int i = n; i > 1; i--) {
fact = fact.multiply (new BigInteger (Integer.toString (i)));
return fact;
// Generate next combination (algorithm from Rosen p. 286)
public int[] getNext () {
if (numLeft.equals (total)) {
numLeft = numLeft.subtract (BigInteger.ONE);
return a;
int i = r - 1;
while (a == n - r + i) {
i--;
System.out.println("inside while");
a = a + 1;
for (int j = i + 1; j < r; j++) {
a[j] = a + j - i;
numLeft = numLeft.subtract (BigInteger.ONE);
return a;
}

Similar Messages

  • One to many mappings delete problem

    in using Toplink 9.0.3, I have modeled a simple one to many relationships and have ran into errors on deletion.
    The following is an object model that fails to delete
    diagram has one to many companies ( privately held )
    companies have one to many ownerships ( privately held )
    ownerships have a one to one to an owner company and an owned company ( not privately held ).
    In the simplest scenario, Toplink knows how to delete a diagram. It will delete an ownership, then delete the companies and then delete the diagram.
    However in a diagram where a company owns two companies, Toplink fails. It attempts to delete an owned company before deleting the parent Ownership.
    Note that if toplink deleted the owner company then, it would know to delete the many ownerships first.
    How do we tell toplink that on deleting a company,
    1. delete all the ownerships in its one to many
    2. and delete all the ownerships in which the company
    plays the role as an owned company.
    Note that deleting an ownership should not trigger a deletion of either the owner company or the owned company.
    please contact at [email protected]

    Hello,
    You appear to be missing a mapping in your object model.
    TopLink decides its commit order, for both insertions and deletions based on the ONE TO ONE mappings in a project.
    It appears that your company has no ONE TO ONE mapping to the diagram, which means that TopLink MAY decide to delete diagrams before it deletes companies.
    I would suggest that you try adding a one to one mapping from company to diagram, correctly populated, and see if the problem recurs.
    I hope this is of some help,
    Christian

  • Hi my mom tried my password one to many times and now i am disabled and cant get into my phone at all, it just allows for emergency calls.

    hi anyone to there know how to fix my problem. my mom tried my password one two many times and now my phone is disabled and i cant use it unless its a emergency.

    iOS: Forgot passcode or device disabled
    I hope you back up on a regular basis.

  • Possible Bug? Different behaviour for List and Set one-to-many mappings on deletePersistent()

    Hi,
    I have a PC class that represents a TreeNode object (a GcGroup), which
    has a one-to-many relationship with itself to keep track of its descendants.
    For example a hierarchy of A -> B -> C, where A has B,C as descendants
    and B has C as a descendant. This is tracked by adding or removing a
    descendant with a recursive method to update a TreeNode's parent's
    descendants when a child is added or removed.
    The odd behaviour happens when I delete a child and try to remove the
    child manually from all my parent's descendant relations when I use a
    HashSet (possibly happens with any Set). In this case kodo will remove
    the relations with the following SQL statement:
    DELETE FROM TREENODE_DESCENDANTSX JDOIDX = xxxx;
    So when I do my recursive call I get a JDOException thrown stating that
    the object xxxx has already been deleted.
    When I change the relationship to an ArrayList this exception is not
    thrown and I do not get the error.
    Looking at the SQL generated they look the same:
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    27106317
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; S:
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    28819334
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    10817575
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:21
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    UPDATE GCGroup SET JDOLOCKX=8, child_count=0 WHERE (id = 81 AND JDOLOCKX
    = 7)
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    27106317
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; S:
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    8331873
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    10817575
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:21
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    DELETE FROM GROUP__DESCENDANTSX WHERE JDOIDX = 12300
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    27106317
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; S:
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    8331873
    2002-10-31 20:21:42,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    10817575
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:21
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    DELETE FROM GROUP__USERSX WHERE group_id = 12300
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    27106317
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; S:
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    8331873
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    10817575
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:21
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    DELETE FROM GCGroup WHERE id = 12300
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    27106317
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    10817575
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:21
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:21:42,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    commit data store transaction
    My methods look like the following:
    public void removeChild(TreeNode t) {
         _children.remove(t);
         removeDescendant(t);
    protected void removeDescendant(TreeNode t) {
         if (_parent != null) {
              _parent.removeDescendant(t);
         _descendants.remove(t);
    The following is the stack trace from the exception when using a HashSet:
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:54:10,046 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    18799851
    2002-10-31 20:54:10,046 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; S:
    2002-10-31 20:54:10,046 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    30836962
    2002-10-31 20:54:10,046 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:54:10,046 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    29139395
    2002-10-31 20:54:10,046 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:54:10,046 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:54
    2002-10-31 20:54:10,046 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:54:10,046 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    UPDATE GCGroup SET JDOLOCKX=3, child_count=0 WHERE (id = 12450 AND
    JDOLOCKX = 2)
    2002-10-31 20:54:10,046 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:54:10,046 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    18799851
    2002-10-31 20:54:10,046 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; S:
    2002-10-31 20:54:10,046 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    28630940
    2002-10-31 20:54:10,046 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    29139395
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:54
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    UPDATE GCGroup SET JDOLOCKX=41 WHERE (id = 2 AND JDOLOCKX = 40)
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    18799851
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; S:
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    29663640
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    29139395
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:54
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:54:10,062 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    DELETE FROM GROUP__DESCENDANTSX WHERE JDOIDX = 12451
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    18799851
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; S:
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    29663640
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    29139395
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:54
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    DELETE FROM GROUP__USERSX WHERE group_id = 12451
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    18799851
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; S:
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    29663640
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    29139395
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:54
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:54:10,078 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    DELETE FROM GCGroup WHERE id = 12451
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    18799851
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; S:
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    5057297
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    29139395
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:54
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    DELETE FROM GROUP__DESCENDANTSX WHERE JDOIDX = 12452
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    18799851
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; S:
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    5057297
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    29139395
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:54
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    DELETE FROM GROUP__USERSX WHERE group_id = 12452
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    18799851
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; S:
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    5057297
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    29139395
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:54
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:54:10,093 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    DELETE FROM GCGroup WHERE id = 12452
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    18799851
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    29139395
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:54
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    roll back data store transaction
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    18799851
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; S:
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    4629956
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    29139395
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:54
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:54:10,109 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    SELECT t0.id, t0.JDOLOCKX, t0.child_count, t0.description,
    t0.global_read, t0.global_write, t0.name, t0.owner_id, t0.parent_id,
    t0.rank, t0.root_id, t0.user_count, t0.user_exists, t0.visibility FROM
    GCGroup t0 WHERE t0.id = 12451
    2002-10-31 20:54:10,125 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] [ C:
    2002-10-31 20:54:10,125 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    18799851
    2002-10-31 20:54:10,125 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; S:
    2002-10-31 20:54:10,125 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    2951648
    2002-10-31 20:54:10,125 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; T:
    2002-10-31 20:54:10,125 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    29139395
    2002-10-31 20:54:10,125 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ; D:
    2002-10-31 20:54:10,125 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    02/10/31 20:54
    2002-10-31 20:54:10,125 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] ]
    2002-10-31 20:54:10,125 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo]
    SELECT t0.id, t0.JDOLOCKX, t0.child_count, t0.description,
    t0.global_read, t0.global_write, t0.name, t0.owner_id, t0.parent_id,
    t0.rank, t0.root_id, t0.user_count, t0.user_exists, t0.visibility FROM
    GCGroup t0 WHERE t0.id = 12452
    2002-10-31 20:54:10,140 INFO [STDOUT]
    com.gulfnet.common.actions.GroupAction : The exception is:
    javax.jdo.JDOException
    2002-10-31 20:54:10,140 INFO [org.jboss.web.localhost.Engine] action:
    com.gulfnet.common.actions.GroupAction : The exception is:
    javax.jdo.JDOException
    2002-10-31 20:54:10,140 INFO [STDOUT]
    com.gulfnet.common.actions.GroupAction : java.lang.NullPointerException
    2002-10-31 20:54:10,140 INFO [org.jboss.web.localhost.Engine] action:
    com.gulfnet.common.actions.GroupAction : java.lang.NullPointerException
    2002-10-31 20:54:10,140 ERROR [STDERR] javax.jdo.JDOException:
    java.lang.NullPointerException
    NestedThrowables:
    java.lang.NullPointerException
    2002-10-31 20:54:10,156 ERROR [STDERR] at
    com.solarmetric.kodo.ee.EEPersistenceManager.rollback(EEPersistenceManager.java:169)
    2002-10-31 20:54:10,156 ERROR [STDERR] at
    com.gulfnet.usermanager.UserManager.deleteGroup(UserManager.java:775)
    2002-10-31 20:54:10,156 ERROR [STDERR] at
    com.gulfnet.common.actions.GroupAction.deleteObject(GroupAction.java:146)
    2002-10-31 20:54:10,171 ERROR [STDERR] at
    com.gulfnet.common.actions.GroupAction.doAction(GroupAction.java:58)
    Kam

    Forgot to add that I am using SQLServer 2000, Jboss 3.0.3 and Kodo 2.3.4
    Kam

  • Messy One to Many Joins and Grouping

    I manage websites for a large state agency in Texas. I have a
    need to redo
    queries that list the Local intake numbers for Long term
    support services
    (LTSS), Area Agencies on Aging (AAA), and Mental Retardation
    Authorities
    (MRA) by county for each of the state's 254 counties -- in
    the past there
    was only one intake number per county for each AAA and MRA,
    with there being
    the possibility for multiple LTSS intake numbers. Now there
    are counties
    that have multiple numbers for MRA intake.
    Basic Structure of Database Tables:
    CountyCenter Table
    County (text)
    CountyNumber (integer)
    AAA_ID (integer)
    MRA_ID (integer)
    LTSS Table
    County (text)
    CountyNumber (integer)
    City (text) -- optional used when there are multiple offices
    for a county
    IntakeNumber (text)
    Region (text)
    AAA Table
    AAA_ID (integer)
    AAAName (text)
    AAAPhone (text)
    MRA Table
    MRA_ID (integer)
    MRAName (text)
    MRAPhone
    MRAOffices
    MRA_ID (integer)
    IntakePhone (text)
    City (Text)
    CountyNumber (integer)
    My goal is for each county to list in a combined table:
    Column 1 = County Name
    Column 2 = LTSS Office (Number(s))
    Column 3 = MRA Intake Number
    Column 4 = AAA Intake Number(s)/City if not main
    Do I need a separate table for county that simply has the
    CountyNumber and
    CountyName to use as a control table?
    I'd like to do this as efficiently as possible -- thankfully
    the query won't
    be accessed by the general public and will be run only when
    updated
    information is received. Any suggestions as to order of the
    joins and
    groupings in CFOUTPUT? (what I have now creates a lot of
    duplication)
    Thanks in advance for your help,
    Michael Brown
    Webmaster, Texas Department of Aging and Disability Services

    Phil,
    Thanks for taking a look. You're definitely right. The data
    structures are a mess. What was originally intended to be on
    three
    separate pages has been requested to be "available at a
    glance."
    With both the LTSS Offices and MRAs having the possiblity of
    multiple offices for a given county what would be the best
    way to
    normalize the data? The tables for MRA, AAA, and LTSS have
    CountyNumber (county exists only in those tables to provide
    context for those who update the information manually (not my
    choice/decision)).
    So to break it down 254 Counties, each can have one or
    multiple
    LTSS numbers (and the number's city), only one AAA number,
    and one
    MRA with the possiblity for multiple intake numbers (and note
    containing location information).
    Hopefully, there is a graceful way of getting the output the
    way
    it has been requested. I'm open to suggestions.
    Thanks again,
    Michael
    "paross1" <[email protected]> wrote in
    news:[email protected]:
    > After taking a quick glance, it looks like you already
    have
    > normalization issues with your data model, since LTSS
    Table and
    > CountyCenter Table both contain County (text), and
    MRAOffices
    and LTSS
    > Table both have City (text), etc. It is hard to tell
    which
    fields are
    > primary keys and which are foreign keys to which tables.
    Some of
    these
    > that may have a one-to-many relationship that now
    changes to a
    > many-to-many will require a link table (associative
    entity) and
    the
    > foreign keys migrated to them.
    >
    > You need to resist creating actual "combined tables",
    spreadsheet
    > style, and
    > instead normalize your database, so that you can create
    your
    "combined
    > table" virtually using SQL. It is hard to offer
    specifics, since
    I
    > would need more information to do so, but the bottom
    line is
    that you
    > do have some obvious data model issues that need to be
    resolved
    before
    > you can get much further. Otherwise, you are going to
    have to
    write
    > some very kludgey SQL to solve your problem with your
    current
    model.
    >
    > Phil
    >
    >

  • One-to-many mapping and update the many part

    Hello !
    Here's my problem,
    I've got an object A having a vector of object B.
    The mapping in toplink is one-to-many with the back-references set in B.
    Insertion : no problem.
    Now i would like to change the Vector of B (inserting new B, updating existing B) in a function with the Vector vC (modified vector of B).
    What is the best way to do this ?
    I tried many thing but either I have toplink 6004 error, or doing it by removing all elements of the Vector (deleting all B in database), and then setting A with C (recreating all object in the modified Vector).
    Another way to explain my case:
    how to do this in UnitOfWork ?
    function modifyAVectorOfB(A, vectorOfC)
    AClone = uow.registerObject(A);
    Aclone.setVectorOfB(vectorOfC);
    uow.commit;
    (and in database all existing object in C are updated, new object in C are created, removed object in C are deleted)

    Have found a solution, read all object in the modified Vector, read the modified object in the Unit Of Work with readObject(B) (So i get the database or cache version) and then comparing it with the modified to change what is needed to be change.

  • JPA one to many relationship and serialization

    Hi,
    I modeled a one to may relationship like this:
    Parent Class WFData:
    @OneToMany(mappedBy = "wfData", targetEntity = Positionen.class)
    private Set<Positionen> positionen;
    Child Class Positionen
    @ManyToOne
    @JoinColumn(name = "WF_REF_ID", referencedColumnName = "ID")
    private WFData wfData;
    Now I want to create an EJB session bean with a method which returns an object of type WFData (parent) published as web service . When I try to deploy the web service I get the following error message: Unable to generate serialization framework for web service
    Does anyone know how to serialize a one-to-many relationship so I can use these objects in a web service?
    Best regards,
    Kevin

    I found the solution to get serialization correctly working and enable the service to be used in Visual Composer.
    You need to add the tag @XmlTransient to the getter method of the attribute in the child class that references the parent.
    @XmlTransient
    public WFData getWfData() {
        return wfData;

  • HT1212 my daughter has a brand new ipod touch - never used - she entered a passcode then immediately forgot it and now she has tried to enter one too many times and ipod is locked for 1 hour - she has never synced with itunes HELP

    my daughter has a brand new ipod touch - latest one - she started to input a passcode then didn't finish the process then turned off ipod. she turned it back on and it is asking for a passcode - she doesn't remember what she typed. Ipod is now disabled for one hour. Can we override the disable. How do we reset passcode when we don't klnow the original. It has never been synced to Itunes. I am completely lost.

    If You Are Locked Out Or Have Forgotten Your Passcode
    iTunes 10 for Mac- Update and restore software on iPod, iPhone, or iPad
    iPhone, iPad, iPod touch: Wrong passcode results in red disabled screen
    iOS- Understanding passcodes
         If you have forgotten your Restrictions code, then follow the instructions
         below but DO NOT restore any previous backup. If you do then you will
         simply be restoring the old Restrictions code you have forgotten. This
         same warning applies if you need to restore a clean system.
    A Complete Guide to Restore or Recover Your iDevice (if You Forget Your Passcode)
    If you need to restore your device or ff you cannot remember the passcode, then you will need to restore your device using the computer with which you last synced it. This allows you to reset your passcode and re-sync the data from the device (or restore from a backup). If you restore on a different computer that was never synced with the device, you will be able to unlock the device for use and remove the passcode, but your data will not be present. Refer to Updating and restoring iPhone, iPad and iPod touch software.
    Try restoring the iOS device if backing up and erasing all content and settings doesn't resolve the issue. Using iTunes to restore iOS devices is part of standard isolation troubleshooting. Restoring your device will delete all data and content, including songs, videos, contacts, photos, and calendar information, and will restore all settings to their factory condition.
    Before restoring your iOS device, Apple recommends that you either sync with iTunes to transfer any purchases you have made, or back up new data (data acquired after your last sync). If you have movie rentals on the device, see iTunes Store movie rental usage rights in the United States before restoring.
    Follow these steps to restore your device:
         1. Verify that you are using the latest version of iTunes before attempting to update.
         2. Connect your device to your computer.
         3. Select your iPhone, iPad, or iPod touch when it appears in iTunes under Devices.
         4. Select the Summary tab.
         5. Select the Restore option.
         6. When prompted to back up your settings before restoring, select the Back Up
             option (see in the image below). If you have just backed up the device, it is not
             necessary to create another.
         7. Select the Restore option when iTunes prompts you (as long as you've backed up,
             you should not have to worry about restoring your iOS device).
         8. When the restore process has completed, the device restarts and displays the Apple
             logo while starting up:
               After a restore, the iOS device displays the "Connect to iTunes" screen. For updating
              to iOS 5 or later, follow the steps in the iOS Setup Assistant. For earlier versions of
              iOS, keep your device connected until the "Connect to iTunes" screen goes away or
              you see "iPhone is activated."
         9. The final step is to restore your device from a previous backup. If you do not have a
              backup to restore, then restore as New.

  • Aggregate one-to-many relationship problem

    Hello,
    After migrating from Toplink 9i I've stumbled across a problem with our aggregate objects.
    Toplink Workbench reports no errors and generates a nice XML but in runtime I get this error whenever a aggregate function is used.
    [TopLink fin]: 2008.02.13 03:18:11.552--ServerSession(12626425)--Connection(29948747)--Thread(Thread[main,5,main])--SELECT DISTINCT t0.NPL_PACK_ID, t0.NPL_ID FROM NPL_MEDPROD t3, FASS_MEDPROD t2, NPL_MEDPROD t1, NPL_PACKAGE t0 WHERE (((t0.NPL_ID = t1._Presentation->NPL_ID_IN_REFERENCE_NPL_PACKAGE_NPL_MEDPROD_Test) AND ((t1.NPL_ID = t2.NPL_ID) AND (t3.NPL_ID LIKE '19750613000031%'))) AND (t3.NPL_ID = t2.NPL_ID))
    Caused by: Undantag [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.DatabaseException
    Internt undantag: java.sql.SQLException: ORA-00911: invalid character
    Felkod: 911
    I belive that problem resides in this clause :
    t1._Presentation->NPL_ID_IN_REFERENCE_NPL_PACKAGE_NPL_MEDPROD_Test
    I've created a small test project with just a couple of classes but the same aggregate problem occurs which has let me to believe the problem does not come from the migrating process which was my first guess. If anyone could help me discover what I am doing wrong it would be very appreciated. Below is my test project output.
    <?xml version="1.0" encoding="UTF-8"?>
    <toplink:object-persistence version="Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)" xmlns:opm="http://xmlns.oracle.com/ias/xsds/opm" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:toplink="http://xmlns.oracle.com/ias/xsds/toplink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <opm:name>test</opm:name>
    <opm:class-mapping-descriptors>
    <opm:class-mapping-descriptor xsi:type="toplink:relational-class-mapping-descriptor">
    <opm:class>se.lif.fass.fassdata.impl.FASSMedProdImpl</opm:class>
    <opm:alias>FASSMedProdImpl</opm:alias>
    <opm:primary-key>
    <opm:field table="FASS_MEDPROD" name="NPL_ID" xsi:type="opm:column"/>
    </opm:primary-key>
    <opm:events xsi:type="toplink:event-policy"/>
    <opm:querying xsi:type="toplink:query-policy"/>
    <opm:attribute-mappings>
    <opm:attribute-mapping xsi:type="toplink:one-to-one-mapping">
    <opm:attribute-name>_Medprod</opm:attribute-name>
    <opm:reference-class>schemas_npl.instance.impl.MedprodTypeImpl</opm:reference-class>
    <opm:private-owned>true</opm:private-owned>
    <opm:foreign-key>
    <opm:field-reference>
    <opm:source-field table="FASS_MEDPROD" name="NPL_ID" xsi:type="opm:column"/>
    <opm:target-field table="NPL_MEDPROD" name="NPL_ID" xsi:type="opm:column"/>
    </opm:field-reference>
    </opm:foreign-key>
    <opm:foreign-key-fields>
    <opm:field table="FASS_MEDPROD" name="NPL_ID" xsi:type="opm:column"/>
    </opm:foreign-key-fields>
    <toplink:batch-reading>true</toplink:batch-reading>
    <toplink:selection-query xsi:type="toplink:read-object-query"/>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>id</opm:attribute-name>
    <opm:read-only>true</opm:read-only>
    <opm:field table="FASS_MEDPROD" name="NPL_ID" xsi:type="opm:column"/>
    </opm:attribute-mapping>
    </opm:attribute-mappings>
    <toplink:descriptor-type>independent</toplink:descriptor-type>
    <toplink:instantiation/>
    <toplink:copying xsi:type="toplink:instantiation-copy-policy"/>
    <toplink:change-policy xsi:type="toplink:deferred-detection-change-policy"/>
    <toplink:tables>
    <toplink:table name="FASS_MEDPROD"/>
    </toplink:tables>
    </opm:class-mapping-descriptor>
    <opm:class-mapping-descriptor xsi:type="toplink:relational-class-mapping-descriptor">
    <opm:class>schemas_npl.instance.impl.MedprodTypeImpl</opm:class>
    <opm:alias>MedprodTypeImpl</opm:alias>
    <opm:primary-key>
    <opm:field table="NPL_MEDPROD" name="NPL_ID" xsi:type="opm:column"/>
    </opm:primary-key>
    <opm:events xsi:type="toplink:event-policy"/>
    <opm:querying xsi:type="toplink:query-policy"/>
    <opm:attribute-mappings>
    <opm:attribute-mapping xsi:type="toplink:aggregate-object-mapping">
    <opm:attribute-name>_Medprodpack</opm:attribute-name>
    <toplink:reference-class>schemas_npl.instance.impl.MedprodTypeImpl$MedprodpackTypeImpl</toplink:reference-class>
    <toplink:allow-null>false</toplink:allow-null>
    <toplink:field-translations>
    <toplink:field-translation>
    <toplink:source-field name="_Presentation->NPL_ID_IN_REFERENCE_NPL_PACKAGE_NPL_MEDPROD_Test" xsi:type="opm:column"/>
    <toplink:target-field table="NPL_MEDPROD" name="NPL_ID" xsi:type="opm:column"/>
    </toplink:field-translation>
    </toplink:field-translations>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>_Nplid</opm:attribute-name>
    <opm:field table="NPL_MEDPROD" name="NPL_ID" xsi:type="opm:column"/>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>id</opm:attribute-name>
    <opm:read-only>true</opm:read-only>
    <opm:field table="NPL_MEDPROD" name="NPL_ID" xsi:type="opm:column"/>
    </opm:attribute-mapping>
    </opm:attribute-mappings>
    <toplink:descriptor-type>independent</toplink:descriptor-type>
    <toplink:instantiation/>
    <toplink:copying xsi:type="toplink:instantiation-copy-policy"/>
    <toplink:change-policy xsi:type="toplink:deferred-detection-change-policy"/>
    <toplink:tables>
    <toplink:table name="NPL_MEDPROD"/>
    </toplink:tables>
    </opm:class-mapping-descriptor>
    <opm:class-mapping-descriptor xsi:type="toplink:relational-class-mapping-descriptor">
    <opm:class>schemas_npl.instance.impl.MedprodTypeImpl$MedprodpackTypeImpl</opm:class>
    <opm:alias>MedprodTypeImpl$MedprodpackTypeImpl</opm:alias>
    <opm:events xsi:type="toplink:event-policy"/>
    <opm:querying xsi:type="toplink:query-policy"/>
    <opm:attribute-mappings>
    <opm:attribute-mapping xsi:type="toplink:one-to-many-mapping">
    <opm:attribute-name>_Presentation</opm:attribute-name>
    <opm:reference-class>schemas_npl.instance.impl.MedprodTypeImpl$MedprodpackTypeImpl$PresentationTypeImpl</opm:reference-class>
    <opm:private-owned>true</opm:private-owned>
    <opm:target-foreign-key>
    <opm:field-reference>
    <opm:source-field table="NPL_PACKAGE" name="NPL_ID" xsi:type="opm:column"/>
    <opm:target-field name="_Presentation->NPL_ID_IN_REFERENCE_NPL_PACKAGE_NPL_MEDPROD_Test" xsi:type="opm:column"/>
    </opm:field-reference>
    </opm:target-foreign-key>
    <toplink:batch-reading>true</toplink:batch-reading>
    <toplink:container xsi:type="toplink:list-container-policy">
    <toplink:collection-type>com.sun.xml.bind.util.ListImpl</toplink:collection-type>
    </toplink:container>
    <toplink:selection-query xsi:type="toplink:read-all-query">
    <toplink:container xsi:type="toplink:list-container-policy">
    <toplink:collection-type>com.sun.xml.bind.util.ListImpl</toplink:collection-type>
    </toplink:container>
    </toplink:selection-query>
    </opm:attribute-mapping>
    </opm:attribute-mappings>
    <toplink:descriptor-type>aggregate</toplink:descriptor-type>
    <toplink:instantiation/>
    <toplink:copying xsi:type="toplink:instantiation-copy-policy"/>
    <toplink:change-policy xsi:type="toplink:deferred-detection-change-policy"/>
    </opm:class-mapping-descriptor>
    <opm:class-mapping-descriptor xsi:type="toplink:relational-class-mapping-descriptor">
    <opm:class>schemas_npl.instance.impl.MedprodTypeImpl$MedprodpackTypeImpl$PresentationTypeImpl</opm:class>
    <opm:alias>MedprodTypeImpl$MedprodpackTypeImpl$PresentationTypeImpl</opm:alias>
    <opm:primary-key>
    <opm:field table="NPL_PACKAGE" name="NPL_PACK_ID" xsi:type="opm:column"/>
    </opm:primary-key>
    <opm:events xsi:type="toplink:event-policy"/>
    <opm:querying xsi:type="toplink:query-policy"/>
    <opm:attribute-mappings>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>_Nplpackid</opm:attribute-name>
    <opm:field table="NPL_PACKAGE" name="NPL_PACK_ID" xsi:type="opm:column"/>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:one-to-one-mapping">
    <opm:attribute-name>backref</opm:attribute-name>
    <opm:reference-class>schemas_npl.instance.impl.MedprodTypeImpl</opm:reference-class>
    <opm:foreign-key>
    <opm:field-reference>
    <opm:source-field table="NPL_PACKAGE" name="NPL_ID" xsi:type="opm:column"/>
    <opm:target-field table="NPL_MEDPROD" name="NPL_ID" xsi:type="opm:column"/>
    </opm:field-reference>
    </opm:foreign-key>
    <opm:foreign-key-fields>
    <opm:field table="NPL_PACKAGE" name="NPL_ID" xsi:type="opm:column"/>
    </opm:foreign-key-fields>
    <toplink:indirection xsi:type="toplink:value-holder-indirection-policy"/>
    <toplink:selection-query xsi:type="toplink:read-object-query"/>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>id</opm:attribute-name>
    <opm:read-only>true</opm:read-only>
    <opm:field table="NPL_PACKAGE" name="NPL_ID" xsi:type="opm:column"/>
    </opm:attribute-mapping>
    </opm:attribute-mappings>
    <toplink:descriptor-type>independent</toplink:descriptor-type>
    <toplink:instantiation/>
    <toplink:copying xsi:type="toplink:instantiation-copy-policy"/>
    <toplink:change-policy xsi:type="toplink:deferred-detection-change-policy"/>
    <toplink:tables>
    <toplink:table name="NPL_PACKAGE"/>
    </toplink:tables>
    </opm:class-mapping-descriptor>
    </opm:class-mapping-descriptors>
    <toplink:login xsi:type="toplink:database-login">
    <toplink:platform-class>oracle.toplink.platform.database.oracle.Oracle8Platform</toplink:platform-class>
    <toplink:user-name>fassadmin</toplink:user-name>
    <toplink:password>3CC3773C96563CA0C89634305615359CD62D1A19DF561D1E</toplink:password>
    <toplink:driver-class>oracle.jdbc.driver.OracleDriver</toplink:driver-class>
    <toplink:connection-url>jdbc:oracle:oci8:@DB2</toplink:connection-url>
    </toplink:login>
    </toplink:object-persistence>
    Regards
    /Jonas

    The issue is in the one-to-many mapping in the aggregate,
    <br>
    <opm:attribute-mapping xsi:type="toplink:one-to-many-mapping">
      <opm:attribute-name>_Presentation</opm:attribute-name>
      <opm:reference-class>schemas_npl.instance.impl.MedprodTypeImpl$MedprodpackTypeImpl$PresentationTypeImpl</opm:reference-class>
      <opm:private-owned>true</opm:private-owned>
      <opm:target-foreign-key>
        <opm:field-reference>
          <opm:source-field table="NPL_PACKAGE" name="NPL_ID" xsi:type="opm:column"/>
          <opm:target-field name="_Presentation->NPL_ID_IN_REFERENCE_NPL_PACKAGE_NPL_MEDPROD_Test" xsi:type="opm:column"/>
        </opm:field-reference>
      </opm:target-foreign-key>There is an issue with the Mapping Workbench and shared aggregates with one-to-many mappings and translating the foreign key fields. Did this work before, I would be surprized if it did, unless the 2.5 Builder was used?
    Anyway the easiest workaround is to either edit the XML and change the NPL_ID_IN_REFERENCE_NPL_PACKAGE_NPL_MEDPROD_Test column name to what it should be, or define a descriptor amendment method to define the one-to-many mapping with the correct field names.
    -- James : EclipseLink

  • One to many and many to one transformation

    I want to transform a field one to many form and many to one.
    EXP: One to MAny
    Name and Address.
    Tanvir Ahmad Mughal
    i want to transfor it as first name=tanvir, M_name=Ahmad, Last name=Mughal
    similer with address. So tell me how i will do in oracle warehouse builder 10G.
    exp: many to one
    the address is stored in 4 attributes in source and i want to store in one field or 2 fields in oracle
    warehouse builder. tell me about it.
    i shall be thankful to you for this kind

    Hi
    Use expressions!
    Select an expression and connect the sorce fiedl to it. Create 3 output filed and define the expressions for them:
    - substr( source_field, 1, instr(source_field, ' '))
    - substr( source_field, instr(source_field, ' '), instr(source_field, ' ', 2))
    - substr( source_field, instr(source_field, ' ', 2)).
    For many to one concatenate them in an expression. Create an expression, connect the source fileds, create an output filed and in the expression use this:
    - field1 || ' ' || field2 || ' ' || field3 || ' ' || field4.
    Ott Karesz
    http://www.trendo-kft.hu

  • One to Many Again :(

    The problem that we currently have is to do with One-To-Many mappings. 1:1 and M:M work perfectly well. Only 1:M relations are not working properly the way we anticipate it to work.
    Consider the example:
    PurchaseOrder and LineItems. Each purchase order might have more than one LineItem and so PurchaseOrder class will have a list of LineItems and we map this list using 1:M mapping within the workbench.
    Toplink Behavior:
    In case of insert the foreign key in the child record is null and so it fails to insert.
    And some forums suggested that we have a backward relation. ie the child object should contain a parent object, which my opinion is very wrong because we are not really achieving 1:M relation, rather we are doing many 1:1 relations. Moreover having a parent object in the child and each parent having a list to me sounds like it might end-up in a circular reference ??
    Has anybody had any luck setting up 1:M properly without backward relation? Please share your experiences and workarounds.
    Regards,
    Murali

    Murali,
    Our FAQ covers this briefly listing alternatives:
    http://www.oracle.com/technology/products/ias/toplink/technical/tl10g_faq.htm#OneToOneBack
    I strongly recommend mapping all FKs as 1:1. In an ORM system these are actually the governing relationships and the 1:M are the optional associations. Mapping the 1:1 back-ref will create a much needed circular reference, which is easily managed in the model.
    The other options provided are also completely supported but will not provide the flexibility and performance of the 1:M + 1:1 solution.
    This approach is in line with all leading ORM solutions and is what you will find in the upcoming EJB3 specification as well.
    Cheers,
    Doug

  • One-Sided One-to-Many Mapping

    Hi,
    the manual says: "You can, however, have one-sided one-to-many mappings in
    which the back-reference only exists in the database, and is not
    represented by any Java field. The mapping tool never creates a one-sided
    one-to-many relation like this; you can only create it by writing the
    mapping data yourself, and then only on an existing schema that supports
    it."
    I don't understand the meaning of the phrase "only on an existing schema
    that supports it". Does that mean it's not supported for all databases
    (which are supported)? And what does it mean "on an existing schema"?
    thanks
    Reto

    Whoops. Got it backwards.
    Should be
    q.declareParameters ("Article article");
    q.setFilter ("articles.contains (article)");
    Collection results = (Collection) q.execute (article);
    Stephen Kim wrote:
    If this is a one to many, Article can just return its owning magazine
    field.
    Otherwise you can issue a query usch as:
    Query q = pm.newQuery (Magazine.class);
    q.declareParameters ("magazine");
    q.setFilter ("articles.contains (magazine)");
    Collection results = (Collection) q.execute (magazine);
    bamboo wrote:
    Following is the example, the question is how can I get the magazine
    instance if I have an Article instance? Thanks.
    Java class:
    public class Magazine
    private Set articles;
    ... class content ...
    Schema:
    <table name="MAGAZINE">
    <column name="JDOID" type="bigint"/>
    <pk column="JDOID"/>
    ... columns for magazine fields ...
    </table>
    <table name="ARTICLE">
    ... primary key columns ...
    <column name="MAG_ID" type="bigint"/>
    <fk to-table="MAGAZINE">
    <join column="MAG_ID" to-column="JDOID"/>
    </fk>
    ... columns for article fields ...
    </table>
    JDO metadata:
    <class name="Magazine">
    <field name="articles">
    <collection element-type="Article"/>
    </field>
    ... rest of field metadata ...
    </class>
    Mapping information using the mapping XML format:
    <class name="Magazine">
    ... class mapping ...
    ... indicator mappings ...
    <field name="articles">
    <jdbc-field-map type="one-many" table="ARTICLE"
    ref-column.JDOID="MAG_ID"/>
    </field>
    ... rest of field mappings ...
    </class>
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com

  • Transaction across many mappings.

    I have many mappings in my ETL and I need to have a transaction spreading over all mappings (I have many mappings and even if one fails I need to rollback all my mappings.). I know that by setting correlate commit to true I can have just one commit at the end of the mapping but this doesn't serve my purpose.
    I have thought of a workaround, tell me whether its OK.
    For example I have 3 mappings map1, map2 and map3
    Now if Map1 is through and and during Map2 the instance crashes. Now when the instance is up and running and again I start the ETL process but before executing the ETL process I ll have a pre mapping script which would check the return_result of the mapping in wb_rt_audit_executions. If its "OK" then it wud go ahead with map2 else it wud execute map1 then map2 and so on.
    Is this work around OK or do you have a better solution?
    thanks and regards,
    -Sharat

    You can achieve some of the things you are mentioning (which is restartability rather than cross-mapping transactions) by using a process flow and creating and maintaining a state table in your target where you will maintain the load process status information. Each and every mapping will then start by looking at this load state table and acting accordingly.
    Regards:
    Igor

  • One to Many table join -- concat field per record grouped by id

    Post Author: wm5
    CA Forum: Formula
    Hello,
    I am using Crystal Reports XI and have two tables that have a one to many relationship and are joined by an JobID (number).
    Below is a sample with relative fields for each table.
    job_table: JobID (number), Manager (text), Status (text)
    jobaudit_table : JobAuditID (number), JobID (Number), FormID (Number)
    There is a one to many relationship with jobaudit_table having multiple records for each JobID in job_table.
    I have created a Group Header using the job_table.JobID and suppressed the detail section.
    In the group header for each JobID I display the JobID, Manager, Status. I also use the below formula to determine if any records in the jobaudit_table has a record where FormID = 90. If so, I display "Yes". If not, "No".
    So my report currently looks like.
    JobID     Manager     Status     Audit Performed
    1           Manager 1  Closed           N
    2          Manager 2   Closed           Y
    Here are the formula's I use to determine if any records in jobaudit_table contains a record where FormID = 90.
    @ja90exists
    if {jobaudit_table.FormID} = 90 then    1else    0;
    if sum({@ja90exists},{job_table.JobID}) = 0 then    "No"else    "Yes";
    Everything so far works fine. What I would like to do now is add a hyperlink to a script to view the job audit when in the above report the "Audit Performed" column is "Yes"
    So Report is now:
    JobID     Manager     Status     Audit Performed
    1           Manager 1  Closed           N
    2          Manager 2   Closed           Y (hyperlink to view audit)
    I cannot figure out how to gather the valid JobAuditIDs where FormID = 90 grouped by JobID to be used in the Group Heading section of the report.
    Also, it is unlikely, but possible that more than one job_audit record exists with FormID = 90 per JobID. So, my hyperlink could look like http://mysite.com/viewjobaudit.aspx?jobid=[jobaudit_table.JobAuditID],[jobaudit_table.JobAuditID] .
    Thanks for any help. And if this post is not clear let me know and I will clarify.
    wm5

    Post Author: bettername
    CA Forum: Formula
    Although I can't think of a way to get multiple hyperlinks, this should be a start.  It (should) hyperlink to the last job/audit in the group that formID of 90.  Oh, I assumed that the hyperlink should have been  xxxx...jobID,jobAuditID! 
    I think there may be a way of getting hyperlinks to every "90" record, but that will involve a subreport, so lets try this first...
    1 - everything from your group header to the group footer...
    2 -  add a formula into the group header that says:
    whileprintingrecords;
    stringvar jobauditID="";
    stringvar jobID:=";
    3 - Then add a formula to the details section:
    whileprintingrecords;
    stringvar jobauditID;
    stringvar jobID;
    if {jobaudit_table.FormID} = 90
    then (jobID:=totext({job_table.job_id},0,""); jobauditID:=totext({jobaudit_table.jobaudit_id},0,"")
    4 - Finally, on your "Audit Performed" formula, have a conditional hyperlink that says:
    whileprintingrecords;
    stringvar jobauditID;
    stringvar jobID;
    if {@audit performed} = "Y" then http://mysite.com/viewjobaudit.aspx?jobid=jobID","+jobauditID

  • Move VS Windows App (Access DBS with one to many form)

    I have a VS Windows App (forms connected to an Access DBS-including one to many form) and would like to have users access via our SharePoint 2001 site...
    thank you.
    mjschukas

    Hi mjschukas,
    This forum is to discuss problems of Windows Forms. Your question is related to SharePoint.
    You can consider posting it in sharePoint forum(http://social.technet.microsoft.com/Forums/en-US/home?forum=sharepointdevelopmentprevious)
    for supports. Thanks.
    Best regards,
    Youjun Tang
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

Maybe you are looking for