可選的<generator>子元素是 一個Java類的名稱,用來生成該持久化類實例的唯一標識符。如果這個生成器實例需要某些配置值或者初始化參數,可以使用<param>元素來傳遞這些參數。 所有的生成器都實現了org.hibernate.id.IdentifierGenerator介面。這是一個非常簡 ...
可選的<generator>子元素是 一個Java類的名稱,用來生成該持久化類實例的唯一標識符。如果這個生成器實例需要某些配置值或者初始化參數,可以使用<param>元素來傳遞這些參數。
所有的生成器都實現了org.hibernate.id.IdentifierGenerator介面。這是一個非常簡單的介面;某些應用程式可以選擇提供他們自己特定的實現。當然,Hibernate提供了很多內置的實現。下麵是一些內置生成器的快捷名字:
increment(遞增)
用於為long, short或者int類型生成唯一標識。只有在沒有其他進程往同一張表中插入數據時才能使用。 在集群下不要使用。
identity (標識)
對DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL的內置標識欄位提供支持。返回的標識符是long, short 或者int類型的。
sequence (序列)
在DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence),而在Interbase中使用生成器(generator)。返回的標識符是long, short或者 int類型的。
assigned (自行分配)
主鍵由外部程式負責生成,無需Hibernate參與 讓應用程式在save()方法調用之前為對象分配一個標示符。這是 <generator>元素沒有指定時的預設生成策略。