'字段列表'中的java,MySQL和未知列'DTYPE'

chr*_*ris 2 java inheritance hibernate save transient

我有两个类:A和B这样B扩展A.使用hibernate,A是一个普通的具体实体,有一个关联的表,一切都很好.

定义B使得它扩展A,A和B是Serializable,并且有2个额外的成员,我有@Transient注释.我不希望将这些保存在数据库中,对于我所关心的所有内容,对我来说,该表中的所有行都只是A的实例,持久化.目标是偶尔在会话中保存B实例.但是在某些时候我需要在DB中保存B对象(就好像它是A).我没有或不需要DiscriminatorColumn或类似的东西.

我尝试过这样的事情:

session.saveOrUpdate((A) b);
Run Code Online (Sandbox Code Playgroud)

...用b实例B.这失败了.

任何人都知道如何解决这个问题?

Tob*_*fke 5

我猜你已经加入@Entity了你的班级B.这将创建一个实体类层次结构 - 需要区分不同的实体类.如果删除注释,则不再需要该列.