本文介绍了对于父类中的@Id和基类中的唯一序列,正确的JPA映射是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个类层次结构:
abstract DomainObject {
...
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="SEQ")
@SequenceGenerator(name="SEQ",sequenceName="SEQ_DB_NAME")
@Column(name = "id", updatable = false, nullable = false)
private Long id;
...
}
BaseClass extends DomainObject {
...
// Fill in blank here where this class's @Id will use a unique sequence generator
// bonus points for any sort of automatic assignment of generator names that might
//prevent me from having to instrument all my domain objects uniquely
...
}
注释:
- 我不是特别需要基类生成器,因此如果我应该删除它,就没问题了.
- 如果适用,这是一个oracle 9i数据库
- Hibernate 3.4 JPA
- Spring 2.5也可用
谢谢
推荐答案
好的,这就是我最终解决问题的方法:
Okay here's how I ended up solving the problem:
基类:
@MappedSuperclass
public abstract class DomainObject implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="SEQ")
@Column(name = "id", updatable = false, nullable = false)
private Long id;
.. rest of class
}
后代阶级:
@Entity
@SequenceGenerator(name="SEQ",sequenceName="SEQ_DB_NAME")
public class BusinessObject extends DomainObject {
...
}
这篇关于对于父类中的@Id和基类中的唯一序列,正确的JPA映射是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!