Guest User

Untitled

a guest
Aug 21st, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. Persisting interfaces using JDO/Datanucleus
  2. @PersistenceCapable(identityType = IdentityType.APPLICATION, detachable = "true")
  3. public class TclRequest implements Comparable<TclRequest> {
  4. @PrimaryKey
  5. private String id;
  6.  
  7. @Persistent(types = { DNSTestData.class, POP3TestData.class, PPPoETestData.class, RADIUSTestData.class }, defaultFetchGroup = "true")
  8. @Columns({ @Column(name = "dnstestdata_fk"), @Column(name = "pop3testdata_fk"), @Column(name = "pppoetestdata_fk"), @Column(name = "radiustestdata_fk") })
  9. private TestData testData;
  10.  
  11. public String getId() {
  12. return id;
  13. }
  14.  
  15. public TestData getTestData() {
  16. return testData;
  17. }
  18.  
  19. public void setId(String id) {
  20. this.id = id;
  21. }
  22.  
  23. public void setTestData(TestData testData) {
  24. this.testData = testData;
  25. }
  26. }
  27.  
  28. @PersistenceCapable(detachable = "true")
  29. public interface TestData {
  30. @PrimaryKey
  31. public String getId();
  32.  
  33. public void setId(String id);
  34. }
  35.  
  36. @PersistenceCapable(detachable = "true")
  37. public class RADIUSTestData implements TestData {
  38. @PrimaryKey
  39. private String id;
  40. private String password;
  41. private String username;
  42.  
  43. public RADIUSTestData() {
  44. }
  45.  
  46. public RADIUSTestData(String password, String username) {
  47. super();
  48. this.password = password;
  49. this.username = username;
  50. }
  51.  
  52. @Override
  53. public String getId() {
  54. return id;
  55. }
  56.  
  57. @Override
  58. public void setId(String id) {
  59. this.id = id;
  60. }
  61. }
  62.  
  63. //'o' is the constructed TclRequest object.
  64. PersistenceManager pm = null;
  65. Transaction t = null;
  66. try {
  67. pm = getPM();
  68. t = pm.currentTransaction();
  69. t.begin();
  70. pm.makePersistent(o);
  71. t.commit();
  72. } catch (Exception e) {
  73. e.printStackTrace();
  74. if (t != null && t.isActive()) {
  75. t.rollback();
  76. }
  77. } finally {
  78. closePM(pm);
  79. }
Add Comment
Please, Sign In to add comment