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

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

10
Hibernateのさまざまな保存方法の違いは何ですか?
Hibernateには、何らかの方法でオブジェクトを取得してデータベースに格納するメソッドがいくつかあります。それらの違いは何ですか?いつ使用するのですか?なぜ何を使用するかを知るインテリジェントな方法が1つだけではないのはなぜですか? これまでに確認した方法は次のとおりです。 save() update() saveOrUpdate() saveOrUpdateCopy() merge() persist()

1
TransactionAwarePersistenceManagerFactoryProxyを理解しているかどうかわからない
私はorg.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxySpringプロジェクトでを使用しようとしていますが、それをどのように使用するか、またはそれがまさに私が探しているものかどうかはわかりません。私のDAOをプレーンなJDOで動作させるのに役立つことに気づきましたPersistenceManagerFactory。別の質問です:プロキシが正しく作成されない場合はどうなりますか?それを使用して、ファクトリーにアクセスし、トランザクション対応の永続性マネージャーを作成できますか?ファクトリーによって管理されるオブジェクトがシングルトンである場合、これは状況を変えますか?なぜPersistenceManagerFactoryに直接アクセスしないのですか?おそらくPersistenceManagerFactoryUtils.getPersistenceManager私のニーズにより適しているでしょうか?getObjectnullを返すことができますか?
192 java  spring  persistence  dao  jdo 

29
指定されたEntityManagerの永続性プロバイダーがありません
私はディレクトリの下でpersistence.xml同じ名前を使用TopLinkしていMETA-INFます。それから、私はそれを呼び出すコードを持っています: EntityManagerFactory emfdb = Persistence.createEntityManagerFactory("agisdb"); それでも、次のエラーメッセージが表示されました。 2009-07-21 09:22:41,018 [メイン]エラー-agisdbという名前のEntityManagerの永続性プロバイダーがありません javax.persistence.PersistenceException:agisdbという名前のEntityManagerの永続性プロバイダーがありません javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:89)で javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)で ここにありますpersistence.xml: <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0"> <persistence-unit name="agisdb"> <class>com.agis.livedb.domain.AddressEntity</class> <class>com.agis.livedb.domain.TrafficCameraEntity</class> <class>com.agis.livedb.domain.TrafficPhotoEntity</class> <class>com.agis.livedb.domain.TrafficReportEntity</class> <properties> <property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/agisdb"/> <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="toplink.jdbc.user" value="root"/> <property name="toplink.jdbc.password" value="password"/> </properties> </persistence-unit> </persistence> クラスパスにあるはずです。それでも、上記のエラーが発生しました。
148 java  jpa  persistence  toplink 

26
Hibernate:「フィールド 'id'にはデフォルト値がありません」
私はHibernateの単純な問題だと思っていることに直面していますが、それを解決することはできません(Hibernateフォーラムにアクセスできないことは確かに役に立ちません)。 永続化したい単純なクラスがありますが、取得し続けます: SEVERE: Field 'id' doesn't have a default value Exception in thread "main" org.hibernate.exception.GenericJDBCException: could not insert: [hibtest.model.Mensagem] at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103) at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91) [ a bunch more ] Caused by: java.sql.SQLException: Field 'id' doesn't have a default value [ a bunch more ] 永続化クラスに関連するコードは次のとおりです。 package hibtest.model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; …


3
JPA / Hibernateでのflush()の正しい使用
私はflush()メソッドに関する情報を収集していましたが、それをいつ使用し、どのように正しく使用するかについては明確ではありません。私が読んだことから、私の理解は、永続化コンテキストの内容がデータベースと同期される、つまり、未解決のステートメントを発行したりエンティティデータを更新したりすることです。 今、私は2つのエンティティAとB(1対1の関係で、JPAによって強制またはモデル化されていない)以下のシナリオを取得しました。A手動で設定される複合PKがあり、自動生成されたIDENTITYフィールドもありますrecordId。これrecordIdはへBの外部キーとしてエンティティに書き込む必要がありますA。私は、1つのトランザクションで保存AしBています。問題は、自動生成された値があることをA.recordId、私はの明示的な呼び出しを行う場合を除き、トランザクション内では使用できませんem.flush()呼び出した後em.persist()にA。(自動生成されたIDENTITY PKがある場合、値はエンティティで直接更新されますが、ここではそうではありません。) em.flush()トランザクション内で使用すると害が生じる可能性がありますか?

9
永続化コンテキストとは何ですか?
Javaの世界とJPAは初めてです。私はJPAを勉強していて、エンティティ、永続性などの多くの新しい用語に出くわしました。読んでいる間、永続コンテキストの正確な定義を理解できませんでした。 誰でも簡単に平易に説明できますか?で使用されているデータとは何@Entityですか? たとえば、この定義は複雑すぎて理解できません。 永続コンテキストは、永続的なIDに対して一意のエンティティインスタンスが存在するようなエンティティのセットです。
109 java  jpa  orm  persistence 

5
EntityManager.find()とEntityManager.getReference()をJPAで使用する場合
EntityManager.getReference(LObj.getClass()、LObj.getId())を使用してデータベースエンティティを取得し、返されたオブジェクトを別のテーブルに永続化されます。 つまり、基本的には次のような流れでした。 クラスTFacade { createT(FObj、AObj){ T TObj = new T(); TObj.setF(FObj); TObj.setA(AObj); ... EntityManager.persist(TObj); ... L LObj = A.getL(); FObj.setL(LObj); FFacade.editF(FObj); } } @ TransactionAttributeType.REQUIRES_NEW クラスFFacade { editF(FObj){ L LObj = FObj.getL(); LObj = EntityManager.getReference(LObj.getClass()、LObj.getId()); ... EntityManager.merge(FObj); ... FLHFacade.create(FObj、LObj); } } @ TransactionAttributeType.REQUIRED クラスFLHFacade { createFLH(FObj、LObj){ FLH FLHObj =新しいFLH(); FLHObj.setF(FObj); …

5
localStorageの持続性はどの程度ですか?
私が書いているプラ​​グインのlocalStorageに大きく依存しています。すべてのユーザー設定がそこに保存されます。一部の設定では、ユーザーに正規表現の書き込みが必要であり、ある時点で正規表現ルールがなくなった場合は悲しいことになります。だから今私はlocalStorageがどれほど永続的であるのか疑問に思っています。 スペックから: ユーザーエージェントは、セキュリティ上の理由またはユーザーから要求された場合にのみ、ローカルストレージ領域のデータを期限切れにする必要があります。 上記は、クライアント側のCookieのように機能するように見えます。つまり、ユーザーがすべてのブラウザデータ(履歴、Cookie、キャッシュなど)をクリアすると、localStorageも切り捨てられます。この仮定は正しいですか?

2
データベースに関してREFRESHとMERGEはどういう意味ですか?
私は好奇心が強いので、この答えをすばやく見つける必要があります。Googleはあまり役に立ちません。 Java Persistence APIには、関連するエンティティで操作をカスケードするようにフレームワークに指示する次のプロパティがあります。 CascadeType.PERSIST CascadeType.DELETE CascadeType.MERGE CascadeType.REFRESH 最初の2つの意味はわかっています。Bを持つオブジェクトAを永続化すると、Bも永続化され、Aを削除すると、Bも削除されます。 しかし、私は他の2人が何を成し遂げているのか理解できません。助けて?
94 java  jpa  persistence 


4
@Entityおよび@TableのName属性
名前属性が@Entityと@Tableの両方にあるため、疑問があります。 たとえば、name属性に同じ値を設定できます @Entity(name = "someThing") @Table(name = "someThing") 同じクラスに異なる名前を付けることもできます @Entity(name = "someThing") @Table(name = "otherThing") これら2つの違いと、両方に同じ属性がある理由を誰かに教えてもらえますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.