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

オブジェクトリレーショナルマッピング(ORM)は、オブジェクト指向システムをリレーショナルデータベースにマッピングするための手法です。他のタグを使用して、プログラミング言語([java]、[sql]、[python])、データベースシステム([postgreSQL]、コンテンツ管理システム([django])、フレームワーク([flask]、[spring]、[laravel]を示す])、アプリケーション環境([android]、[node.js])、および検索に使用でき、ウォッチャーを持つその他のタグ。

10
Djangoでnullを許可する一意のフィールド
フィールドバーがあるモデルFooを持っています。バーフィールドは一意であるが、私はバーフィールドがある場合、複数のレコードを許可するという意味、それにNULLを許可する必要がありnullますが、そうでない場合nullの値は一意である必要があります。 これが私のモデルです: class Foo(models.Model): name = models.CharField(max_length=40) bar = models.CharField(max_length=40, unique=True, blank=True, null=True, default=None) そして、これはテーブルに対応するSQLです: CREATE TABLE appl_foo ( id serial NOT NULL, "name" character varying(40) NOT NULL, bar character varying(40), CONSTRAINT appl_foo_pkey PRIMARY KEY (id), CONSTRAINT appl_foo_bar_key UNIQUE (bar) ) 管理インターフェイスを使用して、barがnullである複数のfooオブジェクトを作成すると、「このBarを持つFooはすでに存在します」というエラーが発生します。 ただし、データベース(PostgreSQL)に挿入すると: insert into appl_foo ("name", bar) values ('test1', …

4
単方向と双方向のJPAとHibernateの関連付けの違いは何ですか?
単方向と双方向の関連付けの違いは何ですか? dbで生成されたテーブルはすべて同じであるため、私が見つけた唯一の違いは、双方向の関連付けのそれぞれの側が他方を参照し、単方向ではないことです。 これは一方向の関連付けです public class User { private int id; private String name; @ManyToOne @JoinColumn( name = "groupId") private Group group; } public class Group { private int id; private String name; } 双方向の関連付け public class User { private int id; private String name; @ManyToOne @JoinColumn( name = "groupId") private …


3
SQLAlchemy:エンジン、接続、セッションの違い
私はSQLAlchemyのを使用し、少なくとも3つのエンティティがあります:engine、sessionとconnection持って、executeこの方法は、私が例えばからすべてのレコードを選択したい場合はtable、私はこれを行うことができます engine.execute(select([table])).fetchall() この connection.execute(select([table])).fetchall() そしてこれさえ session.execute(select([table])).fetchall() -結果は同じになります。 私が理解しているように、誰かがengine.executeそれを使用するとconnection、が作成され、開かれsession(Alchemyが処理します)、クエリを実行します。しかし、そのようなタスクを実行するこれらの3つの方法の間に世界的な違いはありますか?

11
JPA CascadeType.ALLが孤立を削除しない
次のマッピングでJPAを使用して孤立ノードを削除するのに問題があります @OneToMany (cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "owner") private List<Bikes> bikes; 孤立したロールがデータベースにぶら下がっている問題があります。 注釈org.hibernate.annotations.CascadeHibernate固有のタグを使用できますが、明らかにソリューションをHibernate実装に結び付けたくありません。 編集:JPA 2.0はこれに対するサポートを含むようです。
132 java  hibernate  orm  jpa  jpa-2.0 

10
SQLAlchemy ORMによる一括挿入
個々のオブジェクトを挿入するのではなく、SQLAlchemyに一括挿入を実行させる方法はありますか?つまり、 行う: INSERT INTO `foo` (`bar`) VALUES (1), (2), (3) のではなく: INSERT INTO `foo` (`bar`) VALUES (1) INSERT INTO `foo` (`bar`) VALUES (2) INSERT INTO `foo` (`bar`) VALUES (3) 生のSQLではなくsqlalchemyを使用するようにいくつかのコードを変換しました。これで作業するのがはるかに良くなりましたが、現在は遅くなっています(最大で10倍)。これが理由かどうか疑問に思います。 セッションをより効率的に使用して状況を改善できるかもしれません。現時点ではautoCommit=False、session.commit()いくつかの要素を追加した後、追加しています。新しいクエリを実行しても、DBが他の場所で変更されると、データが古くなるように見えますが、古い結果が返されますか? ご協力いただきありがとうございます!

2
ORMマッピングの「所有側」とは何ですか?
正確には何を所有している側の平均?マッピングの例(1対多、1対1、多対1)の説明は何ですか? 次のテキストは、Java EE 6ドキュメントの@OneToOneの説明からの抜粋です。そこにはコンセプトを所有する側のコンセプトが見られます。 1対1の多重度を持つ別のエンティティへの単一値の関連付けを定義します。通常、関連付けられているターゲットエンティティを明示的に指定する必要はありません。参照されるオブジェクトのタイプから推測できるためです。関係が双方向の場合、非所有側はOneToOneアノテーションのmappedBy要素を使用して、所有側の関係フィールドまたはプロパティを指定する必要があります。
128 java  hibernate  orm  jpa  mapping 

7
ネストされたオブジェクトのリストをDapperでマッピングするにはどうすればよいですか
私は現在、データベースアクセスにEntity Frameworkを使用していますが、Dapperを確認したいと考えています。私はこのようなクラスを持っています: public class Course{ public string Title{get;set;} public IList<Location> Locations {get;set;} ... } public class Location{ public string Name {get;set;} ... } したがって、1つのコースを複数の場所で教えることができます。Entity Frameworkがマッピングを実行するので、コースオブジェクトには場所のリストが入力されます。Dapperでこれをどのように行うのですか?それは可能ですか、それともいくつかのクエリステップで行う必要がありますか?
127 orm  dapper 

10
PHP ORM:DoctrineとPropel
私はsymfonyで新しいプロジェクトを始めています。これはDoctrineとPropelと簡単に統合できますが、もちろん選択をする必要があります。これら二つのどちらか? どうもありがとう。 編集: すべての応答、便利なものをありがとう。この質問に対する正しい答えはないので、最も人気のある投票を獲得した質問を承認済みとしてマークします。
126 php  orm  symfony1  doctrine  propel 

8
LaravelとEloquentを使用して2つの日付の間でクエリを実行する方法は?
特定の日付から特定の日付までのレポートを表示するレポートページを作成しようとしています。これが私の現在のコードです: $now = date('Y-m-d'); $reservations = Reservation::where('reservation_from', $now)->get(); これがプレーンSQLで行うことは次のとおりですselect * from table where reservation_from = $now。 ここにこのクエリがありますが、それを雄弁なクエリに変換する方法がわかりません。 SELECT * FROM table WHERE reservation_from BETWEEN '$from' AND '$to 上記のコードを雄弁なクエリに変換するにはどうすればよいですか?前もって感謝します。
122 php  laravel  laravel-5  orm 

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
NHibernateとLINQ to SQL
実際のプロジェクトでどちらのテクノロジーも使用したことがない人として、これら2つがどのように互いに補完し合い、それらの機能がどの程度重複しているかを誰かが知っているだろうか?

6
SQLAlchemy ORMを使用してデータベースを効率的に更新する
新しいアプリケーションを開始し、ORM、特にSQLAlchemyの使用を検討しています。 データベースに「foo」という列があり、それを増やしたいとしましょう。ストレートSQLiteでは、これは簡単です。 db = sqlite3.connect('mydata.sqlitedb') cur = db.cursor() cur.execute('update table stuff set foo = foo + 1') SQLAlchemy SQLビルダーに相当するものを見つけました。 engine = sqlalchemy.create_engine('sqlite:///mydata.sqlitedb') md = sqlalchemy.MetaData(engine) table = sqlalchemy.Table('stuff', md, autoload=True) upd = table.update(values={table.c.foo:table.c.foo+1}) engine.execute(upd) これは少し遅いですが、それほど多くはありません。 SQLAlchemy ORMアプローチの最も適切な推測は次のとおりです。 # snip definition of Stuff class made using declarative_base # snip creation of …
116 python  orm  sqlalchemy 

10
Entity Framework 4対NHibernate [終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 この質問を改善する Entity Frameworkの最初のバージョンがWebでも(stackoverflowでも)話題になっていますが、NHibernateのようなより良い代替案がすでにある場合は、それが適切な選択肢ではなかったことは明らかです。しかし、Entity Framework 4とNHibernateの良い比較を見つけることができません。今日、NHibernateはすべての.NET ORMのリーダーであると言えますが、Entity Framework 4がこの位置からNHibernateを置き換えることが期待できます。MicrosoftがEF4に非常に優れた機能を実際に注入した場合、Visual Studioとの統合があり、扱いやすく、ほとんどのショップで常にMS製品が優先されるため、NHibernateに良い競争をもたらすことができると思います。

30
Hibernateエラー:org.hibernate.NonUniqueObjectException:同じ識別子の値を持つ別のオブジェクトがすでにセッションに関連付けられています
2つのユーザーオブジェクトがあり、使用してオブジェクトを保存しようとしています session.save(userObj); 次のエラーが発生します。 Caused by: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.pojo.rtrequests.User#com.pojo.rtrequests.User@d079b40b] 私はセッションを作成しています BaseHibernateDAO dao = new BaseHibernateDAO(); rtsession = dao.getSession(userData.getRegion(), BaseHibernateDAO.RTREQUESTS_DATABASE_NAME); rttrans = rtsession.beginTransaction(); rttrans.begin(); rtsession.save(userObj1); rtsession.save(userObj2); rtsession.flush(); rttrans.commit(); rtsession.close(); // in finally block session.clear()保存する前にも試してみましたが、まだうまくいきませんでした。 これは、ユーザーリクエストが来たときに初めてセッションオブジェクトを取得するためのものです。そのため、オブジェクトがセッションに存在していると言う理由がわかります。 助言がありますか?
114 java  hibernate  orm 

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