Bas*_*der 16 java overriding annotations hibernate mappedsuperclass
通用实体,超类:
@MappedSuperclass
public abstract class GenericEntity {
private Integer id;
public Integer getId() {return id;}
public void setId(Integer id) {this.id = id;}
}
Run Code Online (Sandbox Code Playgroud)
pojo:
@Entity
@Table(name = "POJO_ONE")
@SequenceGenerator(name = "HB_SEQ_POJO_ONE", sequenceName = "SEQ_POJO_ONE", allocationSize = 1)
public class PojoOne extends GenericEntity {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "HB_SEQ_POJO_ONE")
@Column(name = "ID")
@AttributeOverride(name = "id", column = @Column(name = "ID"))
private Integer id;
@Override
public Integer getId() {return id;}
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用thoses注释:@AttributeOverride,@ Id,...但它不起作用.你能帮助我吗?我想覆盖属性"id"以通过pojo/table指定另一个列名和序列.最好的方法是什么?
Ade*_*ari 28
试试吧,相反
@MappedSuperclass
public abstract class GenericEntity {
private Integer id;
...
public Integer getId() {return id;}
public void setId(Integer id) {this.id = id;}
}
@Entity
@Table(name = "POJO_ONE")
@SequenceGenerator(name = "HB_SEQ_POJO_ONE", sequenceName = "SEQ_POJO_ONE", allocationSize = 1)
@AttributeOverride(name = "id", column = @Column(name = "ID"))
public class PojoOne extends GenericEntity {
// we should not define id here again
...
@Override
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "HB_SEQ_POJO_ONE")
public Integer getId() {return id;}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51285 次 |
| 最近记录: |