我正在使用MS SQL Server + Hibernate(JPA,更确切地说,使用EntityManager),我遇到了问题:我需要将实体存储到我的数据库中的相应表中;此表以uniqueidentifier
为主键;并且存储实体已经具有UUID(它的主键),应该将其插入到数据库中。
问题在于,当我尝试merge
我的实体时,hibernate会做一些魔法并使用另一个 UUID值存储我的实体。所以,当我从db获取这个实体并查看它的ID时,我看到了不合适的价值。
所以,我想告诉hibernate不要这样做(或者,也许还有另一种解决方案?)。
我的实体类:
public class Entity extends BaseEntity {
@Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "uuid2")
@Column(name = "id_column")
private UUID uuId;
// other fields, getters, setters
}
另外,我还有一个“烦恼”:我的IDE和我的数据库浏览器在该列中显示了另一个ID。我的意思是,当我在调试模式下停止我的应用程序并查看实体的id时,我会从数据库中的值看到不同的值。
提前致谢!