This does not seem to work for me. Can someone help please!
Code:
try {
DatabaseManager.registerClassToThePool(Node1.class);
DatabaseManager.getSession();
DatabaseManager.beginTransaction();
Node1 AFFS_NodeEnvObj1 = new Node1();
AFFS_NodeEnvObj1.ID = "1";
AFFS_NodeEnvObj1.description = "1";
DatabaseManager.getSession().saveOrUpdate(AFFS_NodeEnvObj1);
Node1 AFFS_NodeEnvObj2 = new Node1();
AFFS_NodeEnvObj2.ID = "2";
AFFS_NodeEnvObj2.description = "2";
AFFS_NodeEnvObj2.parent = AFFS_NodeEnvObj1;
DatabaseManager.getSession().saveOrUpdate(AFFS_NodeEnvObj2);
//OOPS !!!!
DatabaseManager.getSession().delete(AFFS_NodeEnvObj2);
DatabaseManager.commitTransaction();
} catch (Exception ExceptionObj) {
DatabaseManager.rollbackTransaction();
ExceptionObj.printStackTrace();
} finally {
DatabaseManager.closeSession();
}
Code:
import javax.ejb.*;
import java.io.Serializable;
/**
* @author Emmanuel Bernard
*/
@Entity(name="Node1", access = AccessType.FIELD)
public class Node1 implements Serializable {
@Id
@Column(name="`NodeID`", length=100)
public String ID;
public String description;
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name="ParentID")
public Node1 parent;
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Node1)) return false;
final Node1 node = (Node1) o;
if (!ID.equals(node.ID)) return false;
return true;
}
public int hashCode() {
return ID.hashCode();
}
}