タグ付けされた質問 「hibernate」

HibernateはJava言語用のオブジェクトリレーショナルマッピング(ORM)ライブラリであり、開発者はアプリケーションでPOJOスタイルのドメインモデルをオブジェクト/リレーショナルマッピングをはるかに超える方法で利用できます。




17
HibernateおよびMySQLでの作成タイムスタンプと最終更新タイムスタンプ
特定のHibernateエンティティについては、その作成時刻と最後に更新された時刻を保存する必要があります。これをどのように設計しますか? データベースでどのデータ型を使用しますか(MySQLの場合、JVMとは異なるタイムゾーンの可能性があります)?データ型はタイムゾーンを認識しますか? あなたはJavaでどのようなデータ型を使用しますか(Date、Calendar、long、...)? データベース、ORMフレームワーク(Hibernate)、またはアプリケーションプログラマーの誰がタイムスタンプの設定を担当しますか? マッピングにはどのアノテーションを使用し@Temporalますか(例:)? 実用的なソリューションだけでなく、安全で適切に設計されたソリューションも探しています。


4
混乱:JPAおよびHibernateでの@NotNullと@Column(nullable = false)
のフィールド/ゲッターに表示される場合、それら@Entityの違いは何ですか?(私はHibernateを通じてエンティティを永続化します)。 それぞれがどのフレームワークや仕様に属していますか? @NotNull内にありますjavax.validation.constraints。javax.validation.constraints.NotNulljavadocは言います 注釈付き要素はnullであってはなりません しかし、データベースでの要素の表現については触れていません。なぜnullable=false列に制約を追加するのでしょうか。


18
PersistentObjectException:JPAおよびHibernateによってスローされた永続化に渡された分離エンティティ
私は、多対1の関係が含まれているJPA永続化オブジェクトモデルを持っている:Account多くを持っていますTransactions。あTransactionに1つありAccountます。 コードのスニペットは次のとおりです。 @Entity public class Transaction { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @ManyToOne(cascade = {CascadeType.ALL},fetch= FetchType.EAGER) private Account fromAccount; .... @Entity public class Account { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @OneToMany(cascade = {CascadeType.ALL},fetch= FetchType.EAGER, mappedBy = "fromAccount") private Set<Transaction> transactions; Accountオブジェクトを作成し、トランザクションを追加して、Accountオブジェクトを正しく永続化できます。しかし、トランザクションを作成するときは、既存の永続化されたアカウントを使用して、トランザクションを永続化します、私は例外を取得します: 原因:org.hibernate.PersistentObjectException:永続化のために渡された分離エンティティ:com.paulsanwald.Account at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:141) したがって、Accountトランザクションを含むを永続化できますが、を含むトランザクションは永続化できませんAccount。これはAccount添付されていない可能性があるためだと思っていましたが、このコードでも同じ例外が発生します。 if …
237 java  hibernate  jpa  entity  persist 

22
Hibernate-カスケード=” all-delete-orphan”のコレクションは、所有するエンティティインスタンスによって参照されなくなりました
エンティティを更新しようとすると、次の問題が発生します。 "A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance". 私には親エンティティがありSet<...>、いくつかの子エンティティがあります。更新しようとすると、すべての参照がこのコレクションに設定され、設定されます。 次のコードは私のマッピングを表しています。 @OneToMany(mappedBy = "parentEntity", fetch = FetchType.EAGER) @Cascade({ CascadeType.ALL, CascadeType.DELETE_ORPHAN }) public Set<ChildEntity> getChildren() { return this.children; } これに従って、私はSet <..>のみをクリーンアップしようとしました:問題を「可能」に解決する方法が、それは機能しませんでした。 アイデアがあれば教えてください。 ありがとう!

18
buildSessionFactory()構成メソッドはHibernateで非推奨になりましたか
Hibernateバージョンを3.6.8から4.0.0に更新するとbuildSessionFactory()、次の行で非推奨のメソッドに関する警告が表示されました。 private static final SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); Javadocは別の方法の使用を推奨しています buildSessionFactory(ServiceRegistry serviceRegistry) しかし、ドキュメントでは非推奨のバリアントを見つけました:( この小さな誤解を手伝ってくれませんか?

9
JPA OneToOne関係を遅延させるにはどうすればよいですか
私たちが開発しているこのアプリケーションでは、ビューが特に遅いことに気づきました。ビューのプロファイルを作成したところ、データベースにフェッチするオブジェクトが2つしかない場合でも、hibernateによって1つのクエリが実行され、10秒かかったことがわかりました。すべてOneToManyとManyToMany関係は怠惰だったので、それは問題ではありませんでした。実行中の実際のSQLを調べたところ、クエリに80を超える結合があることに気付きました。 さらに問題を調査したところ、問題はエンティティクラスの深い階層OneToOneとManyToOneエンティティクラス間の関係が原因であることがわかりました。したがって、私はそれらを遅延フェッチするだけで問題を解決できると思いました。しかし、注釈を付けるか@OneToOne(fetch=FetchType.LAZY)、@ManyToOne(fetch=FetchType.LAZY)機能しないようです。例外が発生するか、実際にはプロキシオブジェクトに置き換えられないため、遅延が発生します。 これを機能させる方法はありますか?persistence.xml関係や構成の詳細を定義するためにを使用していないことに注意してください。すべてはJavaコードで行われます。

9
Hibernateがorg.hibernate.AnnotationExceptionをスローします:エンティティに識別子が指定されていません:com..domain.idea.MAE_MFEView
なぜこの例外が発生するのですか? package com.domain.idea; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table; import org.hibernate.annotations.AccessType; /** * object model for the view [InvestmentReturn].[vMAE_MFE] */ @Entity @Table(name="vMAE_MFE", schema="InvestmentReturn") @AccessType("field") public class MAE_MFEView { /** * trade property is a SuggestdTradeRecommendation object */ @OneToOne(fetch = FetchType.LAZY , cascade = { …


30
org.hibernate.HibernateException:「hibernate.dialect」が設定されていない場合、DialectResolutionInfoへのアクセスはnullにできません
spring-jpaを介してhibernateを使用するspring-bootアプリケーションを実行しようとしていますが、次のエラーが発生します。 Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:104) at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:71) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:205) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:843) at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:398) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:842) at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:152) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:336) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1613) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1550) ... 21 …

8
JPAとHibernateで複合キーをマップする方法は?
このコードでは、複合キーのJavaクラスを生成する方法(休止状態でキーを複合する方法): create table Time ( levelStation int(15) not null, src varchar(100) not null, dst varchar(100) not null, distance int(15) not null, price int(15) not null, confPathID int(15) not null, constraint ConfPath_fk foreign key(confPathID) references ConfPath(confPathID), primary key (levelStation, confPathID) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.