คำถามติดแท็ก orm

การทำแผนที่วัตถุเชิงสัมพันธ์ (ORM) เป็นเทคนิคสำหรับการทำแผนที่ระบบเชิงวัตถุกับฐานข้อมูลเชิงสัมพันธ์ ใช้แท็กอื่น ๆ เพื่อระบุภาษาการเขียนโปรแกรม ([java], [sql], [python]), ระบบฐานข้อมูล ([postgreSQL], ระบบจัดการเนื้อหา ([django]), กรอบงาน ([ขวด], [ฤดูใบไม้ผลิ], [laravel ]) สภาพแวดล้อมของแอปพลิเคชัน ([android], [node.js]) และแท็กอื่น ๆ ที่สามารถใช้สำหรับการค้นหาและมีผู้เฝ้าดู

10
ช่องเฉพาะที่อนุญาตให้มี null ใน Django
ฉันมีโมเดล Foo ที่มีแถบฟิลด์ ฟิลด์แถบควรไม่ซ้ำกัน แต่อนุญาตให้มีค่าว่างในนั้นหมายความว่าฉันต้องการอนุญาตมากกว่าหนึ่งระเบียนหากฟิลด์บาร์เป็น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) ) เมื่อใช้อินเทอร์เฟซผู้ดูแลระบบเพื่อสร้างออบเจ็กต์ foo มากกว่า …

18
วิธีการเลือกคอลัมน์เฉพาะใน laravel eloquent
สมมติว่าฉันมี 7 คอลัมน์ในตารางและฉันต้องการเลือกเพียงสองคอลัมน์เท่านั้นอะไรทำนองนี้ SELECT `name`,`surname` FROM `table` WHERE `id` = '1'; ในรูปแบบฝีปาก laravel อาจมีลักษณะเช่นนี้ Table::where('id', 1)->get(); แต่ฉันเดาว่านิพจน์นี้จะเลือกคอลัมน์ทั้งหมดโดยที่ id เท่ากับ 1 และฉันต้องการเพียงสองคอลัมน์ (ชื่อนามสกุล) จะเลือกเพียงสองคอลัมน์ได้อย่างไร?

11
JPA CascadeType.ALL ไม่ได้ลบเด็กกำพร้า
ฉันมีปัญหาในการลบโหนด orphan โดยใช้ JPA ด้วยการแมปต่อไปนี้ @OneToMany (cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "owner") private List<Bikes> bikes; ฉันมีปัญหาของบทบาทที่ถูกทอดทิ้งซึ่งห้อยอยู่รอบ ๆ ฐานข้อมูล ฉันสามารถใช้org.hibernate.annotations.Cascadeแท็กเฉพาะไฮเบอร์เนตคำอธิบายประกอบได้ แต่เห็นได้ชัดว่าฉันไม่ต้องการผูกโซลูชันของฉันเข้ากับการใช้งานไฮเบอร์เนต แก้ไข : ดูเหมือนว่า JPA 2.0 จะรองรับสิ่งนี้ด้วย
136 java  hibernate  orm  jpa  jpa-2.0 

25
คำอธิบายประกอบไฮเบอร์เนต - การเข้าถึงฟิลด์หรือคุณสมบัติใดดีกว่ากัน
คำถามนี้เป็นคำถามที่ค่อนข้างที่เกี่ยวข้องกับHibernate หมายเหตุตำแหน่งคำถาม แต่อยากรู้ว่าอันไหนดีกว่ากัน ? เข้าถึงผ่านคุณสมบัติหรือเข้าถึงผ่านช่อง? ข้อดีข้อเสียของแต่ละอย่างเป็นอย่างไร?
135 java  hibernate  orm  jpa  annotations 

3
SQLAlchemy: เอ็นจิ้นการเชื่อมต่อและความแตกต่างของเซสชัน
ฉันใช้ SQLAlchemy และมีอย่างน้อยสามหน่วยงาน: engine, sessionและconnectionซึ่งมีexecuteวิธีการดังนั้นถ้าฉันเช่นต้องการเลือกระเบียนทั้งหมดจากtableที่ฉันสามารถทำเช่นนี้ engine.execute(select([table])).fetchall() และนี่ connection.execute(select([table])).fetchall() และแม้กระทั่งสิ่งนี้ session.execute(select([table])).fetchall() - ผลลัพธ์จะเหมือนกัน ตามที่ฉันเข้าใจถ้ามีคนใช้engine.executeมันสร้างconnectionขึ้นให้เปิดขึ้นsession(การเล่นแร่แปรธาตุจะดูแลให้คุณ) และดำเนินการค้นหา แต่มีความแตกต่างกันทั่วโลกระหว่างสามวิธีในการปฏิบัติงานดังกล่าวหรือไม่?

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) ฉันเพิ่งแปลงรหัสบางส่วนเพื่อใช้ sqlalchemy แทนที่จะเป็น raw sql และแม้ว่าตอนนี้จะทำงานได้ดีกว่ามาก แต่ดูเหมือนว่าจะช้าลงในตอนนี้ (มากถึง 10 ตัว) ฉันสงสัยว่านี่เป็นเหตุผลหรือไม่ ฉันสามารถปรับปรุงสถานการณ์โดยใช้เซสชันได้อย่างมีประสิทธิภาพมากขึ้น ในขณะนี้ฉันมีautoCommit=Falseและทำsession.commit()หลังจากที่ฉันได้เพิ่มบางสิ่งแล้ว แม้ว่าสิ่งนี้ดูเหมือนจะทำให้ข้อมูลค้างหาก DB ถูกเปลี่ยนไปที่อื่นเช่นแม้ว่าฉันจะทำการสืบค้นใหม่ฉันยังคงได้ผลลัพธ์เก่ากลับมา? ขอบคุณสำหรับความช่วยเหลือของคุณ!

2
"ฝั่งเจ้าของ" ในการแมป ORM คืออะไร
สิ่งที่ว่าไม่ด้านการเป็นเจ้าของหมายถึง? อะไรคือคำอธิบายพร้อมตัวอย่างการทำแผนที่ ( หนึ่งต่อหลายคนหนึ่งต่อหนึ่งหลายคนต่อหนึ่ง ) ข้อความต่อไปนี้เป็นข้อความที่ตัดตอนมาจากคำอธิบายของ@OneToOneในเอกสาร Java EE 6 คุณสามารถดูแนวคิดที่เป็นเจ้าของได้ กำหนดการเชื่อมโยงมูลค่าเดียวกับเอนทิตีอื่นที่มีหลายหลากแบบหนึ่งต่อหนึ่ง โดยปกติแล้วไม่จำเป็นต้องระบุเอนทิตีเป้าหมายที่เกี่ยวข้องอย่างชัดเจนเนื่องจากโดยปกติแล้วจะสามารถอนุมานได้จากประเภทของวัตถุที่อ้างอิง หากความสัมพันธ์เป็นแบบสองทิศทางฝ่ายที่ไม่ได้เป็นเจ้าของจะต้องใช้องค์ประกอบ mappedBy ของคำอธิบายประกอบ OneToOne เพื่อระบุฟิลด์ความสัมพันธ์หรือคุณสมบัติของฝั่งเจ้าของ
129 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;} ... } ดังนั้นหนึ่งหลักสูตรสามารถสอนได้ในหลายสถานที่ Entity Framework ทำการแมปให้ฉันดังนั้นอ็อบเจ็กต์หลักสูตรของฉันจึงถูกเติมด้วยรายการตำแหน่งที่ตั้ง ฉันจะทำอย่างไรกับ Dapper เป็นไปได้หรือไม่หรือต้องทำในขั้นตอนการสืบค้นหลายขั้นตอน
129 orm  dapper 

10
PHP ORMs: หลักคำสอนเทียบกับขับเคลื่อน
ฉันกำลังเริ่มโปรเจ็กต์ใหม่ด้วยsymfonyซึ่งรวมเข้ากับDoctrine and Propelได้อย่างง่ายดายแต่แน่นอนว่าฉันต้องเลือก .... ฉันสงสัยว่าคนที่มีประสบการณ์มากกว่านั้นมีข้อดีและ / หรือข้อเสียทั่วไปในการไปด้วยหรือไม่ ทั้งสองอย่างนี้? ขอบคุณมาก. แก้ไข: ขอบคุณสำหรับคำตอบทั้งหมดสิ่งที่มีประโยชน์ ไม่มีคำตอบที่ถูกต้องอย่างแท้จริงสำหรับคำถามนี้ดังนั้นฉันจะทำเครื่องหมายว่าอนุมัติแล้วคำถามที่ได้รับความนิยมสูงสุด
126 php  orm  symfony1  doctrine  propel 

8
จะสอบถามระหว่างวันที่สองวันโดยใช้ Laravel และ Eloquent ได้อย่างไร?
ฉันกำลังพยายามสร้างหน้ารายงานที่แสดงรายงานจากวันที่ระบุถึงวันที่ที่ระบุ นี่คือรหัสปัจจุบันของฉัน: $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 ฉันจะแปลงรหัสด้านบนเป็นแบบสอบถามที่คมชัดได้อย่างไร ขอบคุณล่วงหน้า.
123 php  laravel  laravel-5  orm 

4
ความแตกต่างระหว่าง persist () และ merge () ใน JPA และ Hibernate คืออะไร?
ความแตกต่างระหว่าง persist () และ merge () ใน Hibernate คืออะไร? 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 …
119 java  hibernate  jpa  orm  entity 

9
NHibernate เทียบกับ LINQ เป็น SQL
ในฐานะคนที่ไม่ได้ใช้เทคโนโลยีอย่างใดอย่างหนึ่งในโครงการในโลกแห่งความเป็นจริงฉันสงสัยว่ามีใครรู้บ้างว่าทั้งสองนี้เสริมกันอย่างไรและฟังก์ชันการทำงานของพวกเขาทับซ้อนกันมากแค่ไหน?

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-builder เทียบเท่า: 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: # …
117 python  orm  sqlalchemy 

10
Entity Framework 4 เทียบกับ NHibernate [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ มีการพูดคุยกันมากมายเกี่ยวกับ Entity Framework เวอร์ชันแรกบนเว็บ (เช่นใน stackoverflow) และเป็นที่ชัดเจนว่ามันไม่ใช่ทางเลือกที่ดีเมื่อเรามีทางเลือกที่ดีกว่าเช่น NHibernate อยู่แล้ว แต่ฉันไม่พบการเปรียบเทียบที่ดีของ Entity Framework 4 และ NHibernate เราสามารถพูดได้ว่าวันนี้ NHibernate เป็นผู้นำในบรรดา. NET ORMs แต่เราสามารถคาดหวังให้ Entity Framework 4 แทนที่ NHibernate จากตำแหน่งนี้ได้หรือไม่ ฉันคิดว่าถ้า Microsoft ได้เพิ่มคุณสมบัติที่ดีมากใน EF4 มันสามารถทำให้เกิดการแข่งขันที่ดีกับ NHibernate เนื่องจากมีการรวม Visual Studio ใช้งานได้ง่ายขึ้นและความพึงพอใจจะมอบให้กับผลิตภัณฑ์ MS ในร้านค้าส่วนใหญ่

16
ทำไมคุณจึงควรใช้ ORM? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ หากคุณมีแรงจูงใจใน "ข้อดี" ของ ORM และเหตุใดคุณจึงใช้ ORM ในการจัดการ / ลูกค้าเหตุผลเหล่านั้นคืออะไร? พยายามเก็บเหตุผลเดียวต่อคำตอบเพื่อที่เราจะได้เห็นว่าข้อใดได้รับการโหวตให้เป็นเหตุผลที่ดีที่สุด
114 database  orm 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.