Questions tagged «orm»

对象关系映射(ORM)是一种用于将面向对象的系统映射到关系数据库的技术。使用其他标签指示编程语言([java],[sql],[python]),数据库系统([postgreSQL],内容管理系统([django]),框架([flask],[spring],[laravel) ]),应用程序环境([android],[node.js])和其他可用于搜索并具有观察者的标签。

16
为什么要使用ORM?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 7年前关闭。 改善这个问题 如果您要激励为什么要使用ORM来管理/客户的“优点”,原因是什么? 尝试使每个答案保持一个原因,以便我们可以将投票结果视为最佳原因
113 database  orm 

1
小马(ORM)如何发挥作用?
Pony ORM很好地把生成器表达式转换成SQL。例: >>> select(p for p in Person if p.name.startswith('Paul')) .order_by(Person.name)[:2] SELECT "p"."id", "p"."name", "p"."age" FROM "Person" "p" WHERE "p"."name" LIKE "Paul%" ORDER BY "p"."name" LIMIT 2 [Person[3], Person[1]] >>> 我知道Python具有出色的自省和内置元编程功能,但是该库如何能够在不进行预处理的情况下转换生成器表达式?看起来像魔术。 [更新] 搅拌器写道: 这是您要查找的文件。似乎可以使用一些自省向导来重构生成器。我不确定它是否支持100%的Python语法,但这很酷。- 搅拌机 我以为他们正在研究生成器表达协议中的某些功能,但正在查看此文件并看到其中ast涉及的模块...不,他们不是在动态检查程序源,是吗?令人振奋... @BrenBarn:如果我尝试在select函数调用之外调用生成器,则结果为: >>> x = (p for p in Person if p.age > 20) >>> …


11
我是否需要persistence.xml中的<class>元素?
我有一个非常简单的persistance.xml文件: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"&gt; &lt;persistence-unit name="eventractor" transaction-type="RESOURCE_LOCAL"&gt; &lt;class&gt;pl.michalmech.eventractor.domain.User&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.Address&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.City&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.Country&lt;/class&gt; &lt;properties&gt; &lt;property name="hibernate.hbm2ddl.auto" value="validate" /&gt; &lt;property name="hibernate.show_sql" value="true" /&gt; &lt;/properties&gt; &lt;/persistence-unit&gt; &lt;/persistence&gt; 而且有效。 但是,当我删除&lt;class&gt;元素时,应用程序看不到实体(所有类都带有注释@Entity)。 是否有自动扫描@Entity类的机制?
110 java  hibernate  orm  jpa  annotations 


9
什么是持久性上下文?
我是Java世界和JPA的新手。我在学习JPA时遇到了许多新术语,例如Entity,persistence。在阅读时,我无法理解Persistence Context的确切定义。 谁能用简单的外行术语解释它?与中使用的数据有@Entity什么关系? 例如,我发现此定义太复杂而难以理解: 持久性上下文是一组实体,因此对于任何持久性身份,都有一个唯一的实体实例。
109 java  jpa  orm  persistence 

2
JPQL IN子句:Java数组(或列表,集合…)?
我想从数据库中加载所有设置了文本标签的对象,这些标签设置为少量但任意数量的值。在SQL中执行此操作的逻辑方法是建立“ IN”子句。JPQL允许IN,但是似乎要求我直接为IN指定每个单个参数(例如,“ in(:in1,:in2,:in3)”)。 是否有某种方法可以指定应展开为IN子句值的数组或列表(或其他容器)?
108 sql  orm  jpa  jpql  named-query 


20
是否有充分的理由不使用ORM?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 在学徒期间,我将NHibernate用于一些较小的项目,这些项目我大多是自己编写和设计的。现在,在开始一个更大的项目之前,讨论了如何设计数据访问以及是否使用ORM层。因为我仍在学徒生涯中,并且仍然认为自己是企业编程的初学者,所以我并没有真正尝试推动,因为将对象关系映射器用于数据库可以极大地简化开发。开发团队中的其他编码人员比我更有经验,所以我认为我会按照他们的意愿去做。:-) 但是,我不完全理解不使用NHibernate或类似项目的两个主要原因: 可以只使用SQL查询构建自己的数据访问对象,然后将这些查询复制到Microsoft SQL Server Management Studio中。 调试ORM可能很困难。 因此,我当然可以使用很多SELECTs等构建我的数据访问层,但是在这里我错过了自动联接,延迟加载代理类以及如果表获得新列或获得列减少维护工作量的优势。重命名。(更新众多SELECT,INSERT并且UPDATE查询与更新映射配置,并可能重构业务类和DTO的。) 另外,如果您不太了解框架,使用NHibernate可能会遇到无法预料的问题。例如,这可能是信任Table.hbm.xml,您可以在其中设置要自动验证的字符串长度。但是,我也可以想象“简单”的基于SqlConnection查询的数据访问层中的类似错误。 最后,上述那些论点真的是不对基于普通数据库的企业应用程序使用ORM的充分理由吗?他们/我可能错过了其他论点吗? (我可能应该补充一点,我认为这就像第一个基于“ NET” / C#的“大型”应用程序,需要团队合作。良好的实践(在单元测试或持续集成等方面在Stack Overflow上被视为很正常) -到目前为止一直存在。)
107 c#  nhibernate  orm  enterprise 

10
如何使用JPA批注对MYSQL自动增量字段进行批注
直截了当,问题是将对象Operator存入MySQL DB。在保存之前,我尝试从此表中进行选择并起作用,因此与db的连接也是如此。 这是我的Operator对象: @Entity public class Operator{ @Id @GeneratedValue private Long id; private String username; private String password; private Integer active; //Getters and setters... } 为了节省,我使用JPA EntityManager的persist方法。 这是一些日志: Hibernate: insert into Operator (active, password, username, id) values (?, ?, ?, ?) com.mysql.jdbc.JDBC4PreparedStatement@15724a0: insert into Operator (active,password, username, id) values (0, …
105 java  mysql  orm  jpa  annotations 

3
SQLAlchemy:如何过滤日期字段?
这是模型: class User(Base): ... birthday = Column(Date, index=True) #in database it's like '1987-01-17' ... 我想在两个日期之间进行过滤,例如选择间隔18-30年的所有用户。 如何用SQLAlchemy实现它? 我想: query = DBSession.query(User).filter( and_(User.birthday &gt;= '1988-01-17', User.birthday &lt;= '1985-01-17') ) # means age &gt;= 24 and age &lt;= 27 我知道这是不正确的,但是该怎么做正确呢?
105 python  sql  database  orm  sqlalchemy 

4
如何使用JPA和Hibernate映射计算的属性
我的Java bean具有childCount属性。此属性未映射到数据库列。取而代之的是,它应该由数据库通过COUNT()对Java bean及其子级的联接进行操作的函数来计算。如果可以按需/“懒惰地”计算此属性,那就更好了,但这不是强制性的。 在最坏的情况下,我可以使用HQL或Criteria API设置此bean的属性,但我不希望这样做。 Hibernate @Formula批注可能会有所帮助,但我几乎找不到任何文档。 任何帮助,不胜感激。谢谢。

4
如何在Node.js上使用Sequelize进行联接查询
我正在使用sequelize ORM;一切都很好,很干净,但是在join查询中使用它时却遇到了问题。我有两种模式:用户和帖子。 var User = db.seq.define('User',{ username: { type: db.Sequelize.STRING}, email: { type: db.Sequelize.STRING}, password: { type: db.Sequelize.STRING}, sex : { type: db.Sequelize.INTEGER}, day_birth: { type: db.Sequelize.INTEGER}, month_birth: { type: db.Sequelize.INTEGER}, year_birth: { type: db.Sequelize.INTEGER} }); User.sync().success(function(){ console.log("table created") }).error(function(error){ console.log(err); }) var Post = db.seq.define("Post",{ body: { type: db.Sequelize.TEXT …

2
使用JPA存储Map <String,String>
我想知道是否可以使用注释attributes使用JPA2 将地图持久化到以下类中 public class Example { long id; // .... Map&lt;String, String&gt; attributes = new HashMap&lt;String, String&gt;(); // .... } 由于我们已经有一个现有的生产数据库,因此理想情况下,值attributes 可以映射到以下现有表: create table example_attributes { example_id bigint, name varchar(100), value varchar(100));
103 java  jpa  orm  jpa-2.0 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.