JPA Como criar herança por classe @Inheritance(strategy =InheritanceType.TABLE_PER_CLASS)

Estou testando um modelo que peguei da web mas está dando erro.

Veja a classe mãe

@Entity
@Inheritance(strategy =InheritanceType.TABLE_PER_CLASS)
@DiscriminatorValue("pessoa")
public class Pessoa implements Serializable {

	private static final long serialVersionUID = 1L;
	
	protected int id;
	protected String nome;
	protected String sobrenome;

	public void setId(int id) {
		this.id = id;
	}

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	public int getId() {
		return id;
	}

       // omitido o restante dos getters and setter
}

[color=red]Veja a classe filha, que nao está sendo criada[/color]

@Entity
@Inheritance(strategy =InheritanceType.TABLE_PER_CLASS)
public class Assalariado extends Pessoa implements Serializable{ 
	private static final long serialVersionUID = 1L;

	protected double salario; 
       // omitido o restante dos getters and setter
}

Agora veja o erro que está dando

18:28:17,859 WARN [ServiceController] Problem starting service persistence.units:jar=ejb_in_action_cap02_JPA.jar,unitName=pu_ejb_in_action_cap02_JPA
[color=red]javax.persistence.PersistenceException: org.hibernate.MappingException: Cannot use identity column key generation with <union-subclass> mapping for: br.com.jm.user.Pessoa
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:720)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:127)
at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:246)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

ObjectName: persistence.units:jar=ejb_in_action_cap02_JPA.jar,unitName=pu_ejb_in_action_cap02_JPA
State: FAILED
Reason: javax.persistence.PersistenceException: org.hibernate.MappingException: Cannot use identity column key generation with <union-subclass> mapping for: br.com.jm.user.Pessoa
I Depend On:
[/color]

[code]

Alguém já implementou este tipo de herança ?

Marco Aurélio

Acho que anotação @Inheritance deve ser usada apenas na classe pai.
Segui o tutorial abaixo e funcionou: