2016-09-13 3 views
1

私はEntityクラスにヘルパーメソッドを持っています。私がエンティティクラスの内部でヘルパー/便利な方法を有することができるようにされていないのはなぜHibernateエンティティクラス内にヘルパー/便利なメソッドを持たせることはできますか?

Caused by: javax.persistence.PersistenceException: [PersistenceUnit: DataDB] Unable to build EntityManagerFactory 
Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister 
Caused by: org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer] 
Caused by: java.lang.reflect.InvocationTargetException 
Caused by: org.hibernate.PropertyNotFoundException: Could not find a setter for property **abc** in class com.myapp.model.Member"}} 

を初期化しながら、私は私のJBossサーバを起動するときに、この..

@Entity 
@Table(name = "MEMBER", schema = "APP_SCHEMA") 
public class Member { 

    private String id; 
    private String externalMemberId; 

    @Id 
    @Column(name = "MEMBER_ID") 
    public String getId() { 
     return id; 
    } 

    @Column(name = "EXTERNAL_MEMBER_ID") 
    public String getExternalMemberId() { 
     return externalMemberId; 
    } 

    public String getAbc(){ 
     return "abc"; 
    } 
} 

ように私は例外を取得していますか?なぜそれはプロパティとマップすることを期待していますか?私は、JBossアプリケーションサーバーをHibernateとJPAで使用しています。

+1

gettersで@Transientを使用するようにしてください – jahra

答えて

1

Hibernateは、永続化されるべきabcプロパティのゲッターとしてゲッターメソッドgetAbc()を解釈します。 @Transient注釈を使用して、フィールドをデータベースに格納すべきではないとマークすることができます。または、getterメソッドのフィールドinstedにアノテーションを配置しようとします。

関連する問題