我想使用注释指定以下 hbm 配置:
<id name="somePK" column=""somePK"" type="long">
<generator class="com.db.hibernate.KeyGenerator"/>
</id>
我不知道如何提供类名
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_STORE")
我是否必须指定
@javax.persistence.SequenceGenerator
在每个实体类中?我可以在
@GeneratedValue
下只指定类名吗?注解?
最佳答案
请在下面找到我在项目中使用的相同代码集。
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "XyzIdGenerator")
@GenericGenerator(name = "XyzIdGenerator",
strategy = "com.mycompany.myapp.id.BigIntegerSequenceGenerator",
parameters = {
@Parameter(name = "sequence", value = "xyz_id_sequence")
})
public BigInteger getId()
{
return id;
}
package com.mycompany.myapp.id;
import org.hibernate.id.SequenceGenerator;
...
public class BigIntegerSequenceGenerator
extends SequenceGenerator
{
@Override
public Serializable generate(SessionImplementor session, Object obj)
{
...
}
}
关于Hibernate:如何使用注释指定自定义序列生成器类名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11631800/