2010-01-05 32 views
0

问题在标题中。有什么办法来说明一个实体类的字段不是一个持久属性?

一些解释:我无法实现必要的映射。但是我可以在DAO中使用查询来获取所有必要的数据。所以,我想手动将这些数据插入到DAO findAll()方法中的实体中。

但JPA将所有实体的字段视为持久属性,并将它们添加到生成的sql查询中。当然,我得到一个异常,查询无法执行。所以,我需要说明'这个字段将被手动设置,跳过它'。

P.S.这个解决方案对我来说听起来很难看,但我无法找到更好的解决方案,因为我有'不可变的'数据库模式,我需要将它映射到我的实体上。

回答

2

这是把我的头顶部,可能是错的,但是...

是不是有@transient注解?或者简单地说是transient Java修饰符?

我认为JPA不会混淆如此标记的字段。

+1

+1用于提及'transient'关键字,这是Hibernate肯定的荣誉,我相信JPA。在真正合适的时候使用低级语言功能,而不是注释,这是很有意义的。 – 2010-01-05 13:07:07

相关问题