2012-03-12 5 views
0

ObjectIDのロジックは、私はIDプロパティアクセス。ゲッター

@Id 
    @Column(name = "aa_id") 
    @SequenceGenerator(name = "PatientSequenceGenerator", 
         sequenceName = "patient_seq") 
    @GeneratedValue(strategy = GenerationType.SEQUENCE, 
        generator = "PatientSequenceGenerator") 
    public ObjectID getId() 
    { 
     return id; 
    } 

発電のための次のゲッターを持つロング値を生成するので、私は例外

this id generator generates long, integer, short or string 
を得た私のマッピングされたエンティティ・クラスでは

私自身のID-クラスです

だから、ゲッターロジックにObjectIDをlongから追加することができますか?

//annotations 
    public ObjectID getId() 
      { 
//logic that that get Long from sequance 
       return new ObjectID(gettedLong); 
      } 
+1

カスタムIDクラスが必要な場合は、そのカスタムジェネレータが必要です。 – Viruzzo

答えて

2

あなたはそうしてはいけません。 IDフィールドは、リストされたタイプのいずれかでなければなりません。@EmbeddedIdまたは@IdClass

+0

@EmbeddedIdにジェネレータを使用できますか? – Ilya

+0

私は分かりません。たとえば、 'String'に使うことができます。しかし、本当にそれが複雑になる必要がありますか? – Bozho

関連する問題