我有一个POJO课程,其中包括:
- 持久性属性,
- 瞬态属性。
在编写HQL时,我考虑了两者:持久性和瞬态属性。
即像select persistent_properties,transient_prop from Pojo_classname
是正确的吗?
我可以将@Basic
注释写入瞬态变量吗?
答案 0 :(得分:2)
不,这不对。 HQL查询转换为SQL。 @Transient
属性不在数据库中,因此SQL查询将无法通过此属性进行查询。
@Basic
和@Transient
是矛盾的。第一个告诉“这个属性是持久的”,第二个告诉“这个属性不是持久的”。
如果您正在讨论Java transient
关键字,而不是@Transient
注释,那么可以查询transient
字段并使用@Basic
进行注释。 transient
关键字与持久性无关,只与对象的二进制序列化有关。