3

Joda Time を Play Framework 2.0 で試してみたい。だから私はReleaseと呼ばれるこのクラスを持っています:

@Entity
public class CommunicationLog extends Model {

private static final long serialVersionUID = 7846963755390952329L;

@Id
public int pk;

public Task taskRef;

public String comment;

@Type(type = "org.joda.time.contrib.hibernate.PersistentDateTime")
public DateTime createdDate;

public Person personRef;

}

この投稿 ( Persist Joda-time's DateTime via Hibernate ) で、joda-time-hibernate の使用について読みました。したがって、これを SBT を使用して依存関係に追加すると、jar ファイルがダウンロードされ、クラスパスに追加されます。

"joda-time" % "joda-time-hibernate" % "1.3"

しかし、@Type を解決できないという問題が残ります。org.hibernate.annotations と hibernate コアもクラスパスに追加する必要がありますか? これが JPA 2.0 の一部ではないのはなぜですか? それとも、私のプロジェクトで何か他のものを見逃していますか?

EDIT 2012-05-07 : で解決

次の依存関係を追加すると機能します。

"org.hibernate" % "hibernate-core" % "3.5.6-Final",
"org.hibernate" % "hibernate-annotations" % "3.5.6-Final",
"joda-time" % "joda-time-hibernate" % "1.3"
4

1 に答える 1

4

はい、クラスパスにorg.hibernate.annotationsを追加する必要があります。
@TypeHibernate ロジック (カスタム UserType) の一部であり、JPA のロジックではありません。
したがって、JPA アノテーションと Hibernate アノテーションを混在させる必要があります

于 2012-04-07T20:34:11.997 に答える