Ответ 1
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
return id;
}
Это позволяет Hibernate выбрать соответствующую стратегию на основе базовой базы данных.
Запуск нового проекта я хотел бы использовать аннотации Hibernate с MySQL вместо файлов конфигурации, которые я использовал до сих пор. И я не могу найти эквивалент:
<id name="id" type="long" >
<generator class="native"></generator>
</id>
Я попытался использовать:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "native")
private long id;
но получил:
org.hibernate.AnnotationException: Unknown Id.generator: native
или
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
Дайте мне:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: PROCEDURE projectName.identity does not exist
Кто-нибудь успешно развернул аннотации MySQL и Hibernate3 для автоматического создания идентификаторов?
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
return id;
}
Это позволяет Hibernate выбрать соответствующую стратегию на основе базовой базы данных.
Возможно, вы захотите посмотреть: http://hibernatepojoge.sourceforge.net/
Попробуйте использовать @GeneratedValue(strategy=GenerationType.AUTO)
. Это должно использовать функциональность MySQL autonum.