事实证明,以下示例在使用mysql 5.x时有效,但是在使用oracle 10g数据库时无效。
有没有一种方法可以定义独立于数据库技术的唯一标识符字段?
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="id") private long id;
我已经在hibernate状态下对此进行了测试,并且只有在使用Oracle时才会发生以下异常:
org.hibernate.MappingException: Dialect does not support identity key generation
我已经研究过使用GenerationType.AUTO,它的确是更好的选择。它允许JPA实现选择最适合您所使用的数据存储系统的任何东西。
GenerationType.AUTO