ich eine DB-Tabelle mit dieser Spalte haben:fehlgeschlagen UUID in MySQL-Datenbank zu speichern, mit Hibernate/JPA
uuid CHARACTER(36) NOT NULL
Es ist auch eine UNIQUE INDEX (uuid)
aber keinen Primärschlüssel.
In der Entity-Klasse, die Definition der UUID Spalte ist dies wie:
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
@Column(name = "uuid", updatable = false, nullable = false)
private UUID uuid;
Dann wird ein Repository-Schnittstelle gibt es die Daten-Repository-Schnittstelle Frühling:
@Repository
public interface SaveRepository extends Repository<CoreEvent, Integer> {
}
Als ich anrief saveRepository. save(), beschwert sich, dass der Uuid-Wert null ist:
org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:278)
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:244)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:491)
at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59)
at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213)
... ...
Habe ich etwas vermisst, um die UUID vor dem Speichern des Datensatzes in der db zu generieren?
Vielen Dank im Voraus :)
yup. hat gerade die Aufgabe ... ... –
https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work :) – Bartun