У меня есть следующая сущность
@Data
@EqualsAndHashCode(callSuper = false)
@Entity
@Table(name = "REF_CLIENT")
@IdClass(RefClientID.class)
@NamedNativeQueries({@NamedNativeQuery(name = "RefClient.updateByClicincli", query = "UPDATE REF_CLIENT rc "
+ "SET rc.clicexcli = :clicexcli , rc.cliidclient=:cliidclient ,"
+ "rc.cliemail=:cliemail, rc.clitypcli=:clitypcli ," + "rc.clietatcli=:clietatcli"
+ " WHERE rc.clicincli = :clicincli ;")})
public class RefClient extends CommonData implements Serializable {
private static final long serialVersionUID = 4763218211813908401L;
/**
* N X NUMBER Code interne client
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "CLICINCLI", unique = true, updatable = false, nullable = false)
private Long clicincli;
/**
* N X VARCHAR2(13) Code externe client
*/
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
@Column(name = "CLICEXCLI", unique = true, length = 13, nullable = false)
private String clicexcli;
класс идентификатора, как показано ниже
@Data
public class RefClientID implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1932584805198196159L;
/**
* N X VARCHAR2(13) Code externe client
*/
private String clicexcli;
/**
* N X NUMBER Code interne client
*/
private Long clicincli;
}
сгенерированный DDL в журналах:
Hibernate:создать таблицу ref_client (clicexcli varchar (13) не ноль auto_increment, клинкли bigint не ноль, datcre DATE DEFAULT CURRENT_DATE не нуль
, как вы видите, VARCHAR не может быть автоматически увеличен, как это исправить?
Я попытался удалить стратегию идентификации, ddl работает нормально, но без auto_increment для clicincli, если я его повторно использую, он сгенерирует auto_increment в поле String clicexcli, и в Long не будет auto_increment (Clickincli))