Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate将uuid转换为空字节数组_Java_Sql Server_Hibernate_Uuid - Fatal编程技术网

Java Hibernate将uuid转换为空字节数组

Java Hibernate将uuid转换为空字节数组,java,sql-server,hibernate,uuid,Java,Sql Server,Hibernate,Uuid,我是另一家公司的实习生,所以我对他们的hibernate实现的内部工作原理没有完全的了解。我只知道: 方言:SQLServer方言 连接驱动程序类:net.sf.log4jdbc.DriverSpy 数据库是2014年的sql server microsoft 如果还有其他要求,请留下评论 这就是我所做的: 将所有使用hibernate的测试移到单独的项目中进行测试。 为了查看hibernate是否仍然有效,我尝试了一个测试,在该测试中我创建并持久化了一个实体。 这导致了一个奇怪的错误,我的UU

我是另一家公司的实习生,所以我对他们的hibernate实现的内部工作原理没有完全的了解。我只知道: 方言:SQLServer方言 连接驱动程序类:net.sf.log4jdbc.DriverSpy 数据库是2014年的sql server microsoft

如果还有其他要求,请留下评论

这就是我所做的:

将所有使用hibernate的测试移到单独的项目中进行测试。 为了查看hibernate是否仍然有效,我尝试了一个测试,在该测试中我创建并持久化了一个实体。 这导致了一个奇怪的错误,我的UUID被转换并存储为一个空字节数组,并使用默认的UUID存储。这意味着我第二次运行它时,它会说UUID已经存在,因为它再次恢复为默认值。 下面是我想要运行的代码示例

EntityManager em = DBService.getInstance().getDefaultEntityManager();
    em.getTransaction().begin();
    Invoice o = new Invoice();
    System.out.println("real id " +o.getId().toString());
    em.persist(o);
    em.getTransaction().commit();
    assertFalse(em.find(Invoice.class, o.getId()) == null);
下面是使用的值,最后一个是主uuid

values ('03/02/2015 15:14:04.038', NULL, NULL, NULL, 
0, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 0, NULL, NULL, 0, NULL, NULL, NULL, 0,  NULL, NULL, NULL, 0, NULL, NULL, 0, 25.0, '<byte[]>') 
下面是抛出的异常

ExceptionHelper:146 - Violation of PRIMARY KEY constraint 'PK__Invoice__3213E83F25AF783C'. Cannot insert duplicate key in object 'dbo.Invoice'. The duplicate key value is (0500edac-7273-2400-636f-6d2e6d696e75).

我通过将uuid typedef映射java类移动到测试项目来修复它,因为显然这两个项目无法共享它

关于映射的一些信息会很好,特别是id属性是如何映射的。它们可能是相同的答案,但我不想在我很少使用的框架上回答。
ExceptionHelper:146 - Violation of PRIMARY KEY constraint 'PK__Invoice__3213E83F25AF783C'. Cannot insert duplicate key in object 'dbo.Invoice'. The duplicate key value is (0500edac-7273-2400-636f-6d2e6d696e75).