1

変数を持つ JPA エンティティがありorg.joda.time.LocalTimeます。JPA実装としてHibernateを使用し、jadiraユーザータイプを使用してJodaTimeクラスを操作しているため、変数の定義は次のとおりです。

@Type(type="org.jadira.usertype.dateandtime.joda.PersistentLocalTimeAsString")
private LocalTime startTime;

Hibernate がその変数の列を作成するとき、 varcharの代わりにtinyblobを使用しますが、正しいですか?

LocalTimeそれが正しければ、 aをvarcharとして保存するクラスはありますか?

4

1 に答える 1

1

この動作は、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-usertype がクラスパスに存在することを確認します。

編集

  @Type(type="dateAsString")
  @Column(columnDefinition = "VARCHAR")
  private LocalTime startTime;
于 2013-06-18T07:35:52.467 に答える