У меня есть два класса / домена (Person
) и (Account
), у них обоих есть поле идентификатора с @GeneratedValue(strategy = GeneratedType.AUTO)
или любым другим GeneratedType
, но при сохранении доменов они разделяют последовательность первичного ключа.
Когда я сохраняю домен пользователя, он будет использовать id=1
, тогда при сохранении учетной записи будет использоваться id=2
, даже если это совершенно другой домен, я не хочу этого, искал довольно долгое времяно я не знаю ключевое слово для поиска.
РЕДАКТИРОВАТЬ: изменен питомец на учетную запись
Я использую Spring Boot 2.0.4.RELEASE с spring-boot-starter-data-jpa.
MySql равен 8.0
У меня есть класс домена mappedSuperclass, но даже если я добавляю Id отдельно для каждого класса, он по-прежнему такой же. ..
Класс домена
package com.myband.band.domain;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
@MappedSuperclass
public abstract class Domain {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private int version;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public int getVersion() {
return version;
}
public void setVersion(int version) {
this.version = version;
}
}
Персональный класс
package com.myband.band.domain;
import javax.persistence.Entity;
@Entity
public class Person extends Domain {
private String firstName;
private String lastName;
private String nickName;
private int age;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Класс учетной записи
package com.myband.login.domain;
import javax.persistence.Entity;
import com.myband.band.domain.Domain;
@Entity
public class Account extends Domain {
private String username;
public Account() {
}
public Account(String username) {
super();
this.username = username;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}