`
JetMah
  • 浏览: 73336 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于POJO类的一种状况的处理疑问

阅读更多
假设有下面的代码
// 所有工作的基类
@MappedSuperclass
public abstract class Work {
 }

// 编写代码的工作
@Entity
public class CodeWork extends Work{
  @OneToMany(mappedBy="codeWork")
  private List<Employee> employees;
}

// 做界面的工作
@Entity
public class UIWork extends Work{
  @OneToMany(mappedBy="uiWork")
  private List<Employee> employees;
}

// 员工
@Entity
public class Employee{
  @ManyToOne
  @JoinColumn(name="codeWork_id", nullable=false, updatable=false)
  private CodeWork codeWork;

  @ManyToOne
  @JoinColumn(name="uiWork_id", nullable=false, updatable=false)
  private UIWork uiWork;
}


我总觉得这样做特别不好:
1) 像 private List<Employee> employees; 这个部分完全可以放到 Work 里面,但是如果放到Work里面的话mappedBy就不知道写哪个了;
2) Employee里面也是如此,Work的每个子类都要写在里面要搞死的。

请帮忙重构一下,多谢多谢。
PS:第一次发帖难免有点紧张,呵呵
分享到:
评论
1 楼 JetMah 2007-12-15  
没人肯帮忙吗?

相关推荐

    mybatis中查询结果为空时不同返回类型对应返回值问题

    第一种:resultType 为基本类型 如果 resultType 为基本类型,如 string(在这里我们把 string 归纳为基本类型),那么当查询结果为空时,dao 接口返回的结果为 null。这种情况下,我们可以通过判断返回值是否为 ...

    ibatis 入门

    标题 "ibatis 入门" 暗示我们要探讨的是关于使用和理解开源持久层框架 iBATIS 的基础知识。iBATIS 是一个优秀的 Java 应用框架,它将 SQL 查询与 Java 代码分离,提供了更灵活的数据访问方式。这篇博客(博文链接已...

    Axis2(WebService)经典教程

    - **概念**:通过简单的Java类(POJO)来实现WebService,无需额外的配置文件。 - **步骤**: - 下载Axis2最新版本(如1.4.1),包含必要的JAR文件。 - 创建一个简单的Java类,定义WebService的方法。 - 使用Axis...

    mybatis快速入门学习教程新手注意问题小结

    尽管`selectOne`可以处理单个结果的情况,但当预期有多条结果时,应优先使用`selectList`。 在实际开发中,新手可能会遇到的一些常见问题包括: 1. XML配置文件的书写错误,比如映射文件未正确引入,导致无法找到...

    mybatis 模糊查询的实现方法

    在MyBatis中,模糊查询是一种常见的查询方式,特别是在数据搜索和过滤时非常有用。本文将详细介绍如何在MyBatis中实现模糊查询。 首先,我们要理解MyBatis中`#`和`$`的区别,这是在编写动态SQL时的关键点。`#`符号...

Global site tag (gtag.js) - Google Analytics