Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
Jpa jadira usertype PersistentLocalTimeAsString将LocalTime另存为tinyblob_Jpa_Jodatime - Fatal编程技术网

Jpa jadira usertype PersistentLocalTimeAsString将LocalTime另存为tinyblob

Jpa jadira usertype PersistentLocalTimeAsString将LocalTime另存为tinyblob,jpa,jodatime,Jpa,Jodatime,我有一个JPA实体,带有org.joda.time.LocalTime变量。我使用Hibernate作为JPA实现,使用jadira用户类型处理JodaTime类,因此我的变量定义为: @Type(type="org.jadira.usertype.dateandtime.joda.PersistentLocalTimeAsString") private LocalTime startTime; 当Hibernate为该变量创建列时,它使用tinyblob而不是varchar,对吗 如果正确

我有一个JPA实体,带有
org.joda.time.LocalTime
变量。我使用Hibernate作为JPA实现,使用jadira用户类型处理JodaTime类,因此我的变量定义为:

@Type(type="org.jadira.usertype.dateandtime.joda.PersistentLocalTimeAsString")
private LocalTime startTime;
当Hibernate为该变量创建列时,它使用tinyblob而不是varchar,对吗


如果正确,是否有类将
LocalTime
保存为varchar?

如果Hibernate找不到列的用户类型,则会发生此行为

1)使用
TypeDef
避免打字错误

   @TypeDefs(
      {
         @TypeDef(name = "dateAsString", typeClass = org.jadira.usertype.dateandtime.joda.PersistentLocalTimeAsString.class
      }  
   public class MyClass {  
      @Type(type="dateAsString")
      private LocalTime startTime;     
如果类路径中缺少
PersistentLocalTimeAsString
,则会出现编译错误

2)检查类路径中是否存在jadira用户类型

编辑

  @Type(type="dateAsString")
  @Column(columnDefinition = "VARCHAR")
  private LocalTime startTime;

如果Hibernate找不到列的用户类型,就会发生这种行为

1)使用
TypeDef
避免打字错误

   @TypeDefs(
      {
         @TypeDef(name = "dateAsString", typeClass = org.jadira.usertype.dateandtime.joda.PersistentLocalTimeAsString.class
      }  
   public class MyClass {  
      @Type(type="dateAsString")
      private LocalTime startTime;     
如果类路径中缺少
PersistentLocalTimeAsString
,则会出现编译错误

2)检查类路径中是否存在jadira用户类型

编辑

  @Type(type="dateAsString")
  @Column(columnDefinition = "VARCHAR")
  private LocalTime startTime;

jadira用户类型存在,因为我将其用于其他内容…但用于
LocalDate
DateTime
(可以从数据库类型RAP呈现的类很好…问题是不能从标准类型RAP呈现的
LocalTime
很好!但是使用这种方法,如果我切换数据库,我必须更改它…你知道是否可以用另一种方式吗?@rascio我不知道为什么基本代码可以与
Loc一起工作alDate
不适用于
LocalTime
,对我来说是pazzle。我只能建议使用这种方式Jadira用户类型,因为我将其用于其他内容…但用于
LocalDate
DateTime
(可以从数据库类型RAP呈现的类很好…问题是不能从标准类型RAP呈现的
LocalTime
很好!但是使用这种方法,如果我切换数据库,我必须更改它…你知道是否可以用另一种方式吗?@rascio我不知道为什么基本代码可以与
Loc一起工作alDate
不适用于
LocalTime
,它适合我。我只能这样提议