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

11
エンティティフレームワークに挿入されたエンティティのIDを取得するにはどうすればよいですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 Asp.netのEntity Frameworkに問題があります。オブジェクトをデータベースに追加するたびにId値を取得したい。これどうやってするの?


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 



4
JPAとHibernateのpersist()とmerge()の違いは何ですか?
Hibernateのpersist()とmerge()の違いは何ですか? persist() UPDATE&INSERTクエリを作成できます。例: SessionFactory sef = cfg.buildSessionFactory(); Session session = sef.openSession(); A a=new A(); session.persist(a); a.setName("Mario"); session.flush(); この場合、クエリは次のように生成されます。 Hibernate: insert into A (NAME, ID) values (?, ?) Hibernate: update A set NAME=? where ID=? そのため、persist()メソッドは挿入と更新を生成できます。 今とmerge(): SessionFactory sef = cfg.buildSessionFactory(); Session session = sef.openSession(); Singer singer = new Singer(); singer.setName("Luciano …
119 java  hibernate  jpa  orm  entity 

9
エンティティフレームワークを使用してIDでオブジェクトを削除する方法
以下のようなエンティティフレームワークでオブジェクトを削除する前に、オブジェクトを取得する必要があるようです var customer = context.Customers.First(c => c.Id == 1); context.DeleteObject(customer); context.Savechanges(); したがって、データベースを2回ヒットする必要があります。もっと簡単な方法はありますか?

1
カスケード= {「削除」} VS orphanRemoval = true VS ondelete = "CASCADE
親エンティティが削除されたときに自動的に子エンティティを削除するために、以下の方法についていくつかの情報を収集しようとしました。最も一般的な方法は、cascade = {"remove"} OR orphanRemoval = true OR ondelete = "CASCADE"の 3つのアノテーションを使用することです。 私は3番目のものについて少し混乱しています:ondelete = "CASCADE"、これに関する教義の公式ドキュメントの説明は非常に少ないため)、私が収集した以下の情報を誰かが私に確認し、私の研究から理解できれば幸いですネットと経験... 何をする Cascade = {"remove"} ==>所有側エンティティがある場合、反対側のエンティティは削除されます。あなたが他の所有する側の実体を持つmanytomanyにいる場合でも。 -コレクションで使用する必要があります(OneToManyまたはManyToMany関係で)-ORMでの 実装 orphanRemoval = true ==>所有側エンティティがANDであり、他の所有側エンティティに接続されていない場合、反対側のエンティティは削除されます。( ref。doctrine official_doc -ORMでの実装-OneToOne、OnetoManyまたはManyToManyで使用できます onDelete = "CASCADE" ==>これにより、データベース内の外部キー列にOn Delete Cascadeが追加されます -この戦略は、正しく理解するのが少し難しいですが、非常に強力で高速です。( ref。doctrine official_doc ...しかし、これ以上の説明は読んでいません)-ORM は(以前の2つの方法と比較して)必要な作業が少ないため、パフォーマンスが向上します。 その他の情報 -これらの3つの方法はすべて双方向関係エンティティに実装されています(そうですか???)。 cascade = {"remove"}を使用すると、外部キーonDelete = CASCADEが完全にバイパスされます。(参考文献doctrine_official_doc) コードでの使用例 orphanRemovalおよびcascade = …

15
EF 4.1例外「プロバイダーはProviderManifestToken文字列を返しませんでした」
MSDNにある例を再現しようとしています。ASP.NETとEF 4.1(CTP?)を使用しています。NuGetを使用してEntityFrameworkパッケージをインストールしました。 このエラーが発生します:The provider did not return a ProviderManifestToken string...そしてデータベースは作成されません。 これが私の接続文字列です: <add name="HospitalContext" connectionString= "data source=.\SQLExpress;initial catalog=NewTestDB;integrated security=True;" providerName="System.Data.SqlClient"/> これが私のコードです: var pat = new Patient { Name = "Shane123132524356436435234" }; db.Patients.Add(pat); var labResult = new LabResult { Result = "bad", Patient = pat }; int recordAffected = db.SaveChanges(); これが私のコンテキストです: public …
88 asp.net  sql  entity 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.