【发布时间】:2010-12-22 12:05:47
【问题描述】:
我想知道社区认为关于使用 Spring JDBC 映射类层次结构的“最佳实践”。
我们没有能力使用成熟的 ORM 工具,但是我们正在使用 Spring JDBC 来减轻 JDBC 的一些繁琐性质。我们经常使用的一类是 BeanPropertyRowMapper,因为它易于使用,并且能够从我们的结果集中访问类型不敏感的 bean 属性。
我有一个类层次结构,它全部映射回单个表(对这个小类层次结构采用 table-per-hiearchy 方法)。因此,该表包含一个 classId 列,可用于确定应实际实例化的类。前任。 1 = 经理,2 = 员工,3 = 承包商。所有这些都是“人”,但每个人的子类都有一些属性是他们的类所独有的。
我最初的想法是创建一个 BeanPropertyRowMapper 的子类,并尝试注入此逻辑来表示“如果列 A = 1,则实例化一个 Manager,然后进行正常绑定”。
这看起来是一种合理的方法吗?是否还有其他对您有用的建议?
【问题讨论】:
标签: java spring orm class-hierarchy spring-jdbc