2016-09-13 41 views
1

我有一个辅助方法在其中的实体类。这样的..我可以在Hibernate实体类中使用助手/方便的方法吗?

@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服务器在初始化

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"}} 

为什么它没有让我有实体类中的辅助/方便的方法?为什么期待与财产地图?我正在使用Hibernate和JPA的JBoss应用服务器。

+1

尝试在getters上使用@Transient – jahra

回答

1

Hibernate将解释你的getter方法getAbc()作为abc应该被持久化的属性。您可以使用@Transient注释来标记它不应存储在数据库中的字段。或者尝试将注释放在getter方法的字段insted中。

相关问题