关于hibernate中将父类修改成子类的问题

文森特先森 2013-02-18 09:51:44

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "tbp_user")
public class User extends EnterpriseObject {

有个一个user实体类作为父类,student作为子类,

@Entity
@Table(name = "tbp_student")
public class Student extends User {


现在在更新的时候我想将user对象转换成student对象,如果直接调用merge方法肯定报notfound的异常,因为没有这个student对象,如果先删除user再新增student也会报错,这两种方法是我目前多能想的了,都搞不定,,请问怎么才能在hibernate中将父类转换为子类
...全文
232 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
文森特先森 2013-06-23
  • 打赏
  • 举报
回复
没有满意答案,换了其他方式解决了,感谢两位童鞋的帮助
文森特先森 2013-02-18
  • 打赏
  • 举报
回复
引用 5 楼 fangmingshijie 的回复:
http://javahello.i.sohu.com/blog/view/112906200.htm http://www.jdon.com/32923 参考下,也许能解决你的问题
首先,对您的帮助表示感谢!我看了一下,文章中说的是懒加载的问题,但是我测试了一下发现,对于父类@Inheritance(strategy = InheritanceType.JOINED)方式下,依然是无效的,因为他在数据库中是形成两张表的即父类一张,子类引用父类附加属性成一张表,因此跟懒加载应该关系不大
  • 打赏
  • 举报
回复
http://javahello.i.sohu.com/blog/view/112906200.htm http://www.jdon.com/32923 参考下,也许能解决你的问题
文森特先森 2013-02-18
  • 打赏
  • 举报
回复
引用 3 楼 abcmsnet 的回复:
你说的是父类引用指向子类 User u=new Student();
也应该不是,主要是要将数据库中的user对象重新存储为student对象,如果是User u=new Student();,这样最终保存的是user
  • 打赏
  • 举报
回复
你说的是父类引用指向子类 User u=new Student();
文森特先森 2013-02-18
  • 打赏
  • 举报
回复
引用 1 楼 fangmingshijie 的回复:
你听过父类转换为子类吗?儿子能让他爹喊他爹吗?


所以说是修改,给原父类添加属性,让他变成子类
  • 打赏
  • 举报
回复
你听过父类转换为子类吗?儿子能让他爹喊他爹吗?
文森特先森 2013-02-18
  • 打赏
  • 举报
回复
顶!!顶!!顶!!求火力支援

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧