KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm considering using Annotations to define my Hibernate mappings but have run into a problem: I want to use a base entity class to define common fields (including the ID field) but I want different tables to have different ID generation strategies: @MappedSuperclass public abstract class Base implements Serializable { @Id @Column(name="ID", nullable = false) private Integer id; public Integer getId(){return id;} public void setId(Integer id){this.id = id;} ... } @Entity @Table(name="TABLE_A") public class TableA extends Base { // Table_A wants to set an application-defined value for ID ... } @Entity @Table(name="TABLE_B") public class TableB extends Base { // How do I specify @GeneratedValue(strategy = AUTO) for ID here? ... } Is there some way to do this? I've tried including the following into TableB but hibernate objected to my having the same column twice and it seems wrong: @Override // So that we can set Generated strategy @Id @GeneratedValue(strategy = AUTO) public Integer getId() { return super.getId(); }
Tags (comma-separated)
Save Edits
Cancel