Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.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用作主键时获取错误的ID值_Java_Spring_Hibernate_Spring Data - Fatal编程技术网

Java Hibernate在将UUID用作主键时获取错误的ID值

Java Hibernate在将UUID用作主键时获取错误的ID值,java,spring,hibernate,spring-data,Java,Spring,Hibernate,Spring Data,我的实体: @Entity @Table(name = "eh_portal") public class PortalEntity { @Id @Column(name = "id", columnDefinition = "CHAR(36)") private UUID id; //java.util.UUID; @Column(name = "name") private String name; @Column(name = "url

我的实体:

@Entity
@Table(name = "eh_portal")
public class PortalEntity {

    @Id
    @Column(name = "id", columnDefinition = "CHAR(36)")
    private UUID id; //java.util.UUID;

    @Column(name = "name")
    private String name;

    @Column(name = "url")
    private String url;

    // -- Constructor for Hibernate --
    protected PortalEntity() {
    }

    // -- Constructor for new entity in service code --
    public PortalEntity(final UUID id) {
        this.id = id;
    }
    .... getters and setters ommited
}
Respository是Spring数据JPA:

public interface PortalRepository extends CrudRepository<PortalEntity, UUID> {

}
问题是,Hibernate返回的数据显然是错误的——请参见下面的屏幕截图 Mysql工作台:

通过Spring数据JPA获取实体的实际网页:

您可以看到UUID明显不同,而其他列是正确的。
这里怎么了?(Spring 4、Hibernate 4、Spring DATA JPA、Mysql 5)

尝试使用
@Type(Type=“uuid char”)

这是真的错误还是仅仅是屏幕上的输出。可能是一个简单的呈现/转换问题。。另外,您正在打印什么,直接打印ID还是使用转换器,我还想知道hibernate是否本机支持UUID到字符串和反向转换,或者您是否需要转换器。我已经调试了返回的实体。这在实体级别是错误的。当我的实体无法加载其子实体时,这解决了我的问题。您能解释一下为什么这样做有效和/或必要吗?谢谢
CREATE TABLE `eh_portal` (
  `id` char(36) NOT NULL COMMENT 'UUID',
  `name` varchar(255) NOT NULL,
  `url` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `url_UNIQUE` (`url`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8