我观察到奇怪的事实(基于hibernate标签中的问题),人们仍然在积极地使用XML文件而不是注释来指定它们的ORM(Hibernate / JPA)映射。 有一些情况下,这是必要的: 您正在使用提供的类,并且想要映射它们。 您正在编写一个API,其域类可以在没有JPA提供程序的情况下使用,因此您不希望强制使用JPA / Hibernate依赖项。 但我认为这些并不常见。 我的假设是: 人们习惯于XML文件,不舒服/不想学习使用注释的方法。 Java 1.5之前的版本被强加在这个项目上,而且没有什么可做的 人们不知道注释是一个全function的XML映射replace。 遗留系统得到支持,因此改变方法被认为是有风险的 人们担心混合注解(元信息)与他们的类是错误的。 任何其他可能的解释?
我想更好地理解之间的差异 (1)传统的多值关系/关联 @Entity -> @OneToMany -> @Entity 和 (2) embedded式(和基本)types的JPA2 集合 @Entity -> @ElementCollection -> @Embeddable 我看到了语法上的差异,但不知道是否也有性能影响 。 在引擎盖下,数据库实现看起来非常相似。 直觉上,我通常使用@ElementCollection 组合场景 。 但即使如此,感觉非常类似CascadeType=DELETE 。 我在这里错过了本质吗? 为了某些目的,一个比另一个更有效率吗? 谢谢J.
使用Haskell与数据库进行交互的最佳方式是什么? 我习惯于使用某种ORM(Django的ORM,hibernate等),而使用HAppS创build应用程序时,类似的东西也不错。 编辑:我想自由selectPostgresql MySql和SQLite尽可能实际的数据库去。
我正在使用Dapper将我的实体映射到SQL Server CE。 如果我用Kind=Utc保存DateTime ,当我读到它时,我得到了Kind=Unspecified的DateTime ,这会导致所有types的问题。 例: var f = new Foo { Id = 42, ModificationDate = DateTime.UtcNow }; Console.WriteLine("{0} ({1})", f.ModificationDate, f.ModificationDate.Kind); connection.Execute("insert into Foo(Id, ModificationDate) values(@Id, @ModificationDate)", f); var f2 = connection.Query<Foo>("select * from Foo where Id = @Id", f).Single(); Console.WriteLine("{0} ({1})", f2.ModificationDate, f2.ModificationDate.Kind); 这段代码给出了以下输出: 20/09/2012 10:04:16 (Utc) 20/09/2012 10:04:16 (Unspecified) 我知道我应该使用DateTimeOffset […]
我会有兴趣听取别人的意见,看他们是否会select(请不要“讨厌”),以及为什么。 使用stream利的缺点是什么? (版本依赖可能?)优点,缺点,经验等
你能帮我如何将下面的代码转换为使用标准构build器的“in”运算符? 我需要通过使用“in”使用列表/数组的用户名进行过滤。 我也尝试使用JPA CriteriaBuilder进行search – “in”方法但是找不到好的结果。 所以,如果你能给我这个主题的参考url,我真的很感激。 谢谢。 这是我的代码: //usersList is a list of User that I need to put inside IN operator CriteriaBuilder builder = getJpaTemplate().getEntityManagerFactory().getCriteriaBuilder(); CriteriaQuery<ScheduleRequest> criteria = builder.createQuery(ScheduleRequest.class); Root<ScheduleRequest> scheduleRequest = criteria.from(ScheduleRequest.class); criteria = criteria.select(scheduleRequest); List<Predicate> params = new ArrayList<Predicate>(); List<ParameterExpression<String>> usersIdsParamList = new ArrayList<ParameterExpression<String>>(); for (int i = 0; i < […]
ORM通常不涉及做一些select*? 如果我有一个表,MyThing,与列A,B,C,D等,那么通常会有一个对象,MyThing属性A,B,C,D。 如果这个对象被一个看起来像这样的select语句不完全实例化,那只会得到A,B而不是C,D: 从MyThingselectA,B / *不要C和D,因为我们不需要它们* / 但总是这样做也是邪恶的: selectA,B,C,D / *获取所有列,以便我们可以完全实例化MyThing对象* / ORM是否假设数据库访问速度如此之快,现在您不必担心,因此您可以随时获取所有列? 或者,您是否有不同的MyThing对象,每个组合可能碰巧在select语句中? 编辑:在你回答这个问题之前,请阅读Nicholas Piasecki和Bill Karwin的答案。 我猜我的问题很糟糕,因为很多人误解了这个问题,但尼古拉斯100%都明白这一点。 像他一样,我对其他答案感兴趣。 编辑#2:与这个问题有关的链接: 为什么我们需要实体对象? http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx ,尤其是“部分对象问题和加载时间悖论” http://groups.google.com/group/comp.object/browse_thread/thread/853fca22ded31c00/99f41d57f195f48b ? http://www.martinfowler.com/bliki/AnemicDomainModel.html http://database-programmer.blogspot.com/2008/06/why-i-do-not-use-orm.html
我想用EF来存储一个包含基本列表的对象。 public class MyObject { public int Id {get;set;} public virtual IList<int> Numbers {get;set;} } 我知道EF不能存储这个,但我想知道可能的解决scheme来解决这个问题。 我能想到的两个解决scheme是: 1. 创build一个具有Id和Integervalue 的Dummy对象 ,例如 public class MyObject { public int Id {get;set;} public virtual IList<MyInt> Numbers {get;set;} } public class MyInt { public int Id {get;set;} public int Number {get;set;} } 2. 将列表值存储为blob ,例如 public class MyObject { […]
所以ADO.NETentity framework已经有了一些不好的新闻(以博客和请愿书的forms),但我不想急于判断。 我在实验的时间有限,但是我想知道有没有人使用它,但有更多的经验反馈? 最后,关于使用NHibernate的想法已经存在了很长时间, 可能比ADO.NET Entity Framework更成熟。
我刚刚将Spring 3.0.5迁移到3.1 GA。 我在初始化期间遇到了运行时错 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/spring/infrastructure-config.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchFieldError: NULL … Caused by: java.lang.NoSuchFieldError: NULL at org.springframework.expression.TypedValue.<clinit>(TypedValue.java:32) at org.springframework.expression.spel.support.StandardEvaluationContext.setRootObject(StandardEvaluationContext.java:85) at org.springframework.expression.spel.support.StandardEvaluationContext.<init>(StandardEvaluationContext.java:74) at org.springframework.context.expression.StandardBeanExpressionResolver.evaluate(StandardBeanExpressionResolver.java:124) at org.springframework.beans.factory.support.AbstractBeanFactory.evaluateBeanDefinitionString(AbstractBeanFactory.java:1299) at […]