在java中是否有任何实体框架等效?

时间:2013-03-27 18:02:24

标签: java .net

使用C#编程的每个人都知道Entity Framework是ORM(对象关系映射器),它使程序员只使用C#代码查询数据库。

例如,如果我有一个名为Shop的数据库,并且在Shop数据库中我有Products表,我可以获得Products表的所有产品通过以下方式价格低于2美元:

ShopEntity _Db = new ShopEntity();
List<Product> products = _Db.Products.Where(p => p.Price < 2).ToList();

上面的代码等同于这个SQL语句:

Select * From Products Where Price < 2

所以我想知道java中是否有类似的框架?

我也看到了quaere。但它只是查询集合。我想查询数据库。 java中有另一个名为Hibernate的框架,它不能为查询数据库提供良好的功能。

1 个答案:

答案 0 :(得分:30)

Java中的标准ORM API,称为JPA,是Java EE规范的一部分。另一种选择是使用Hibernate。两者都提供了自己的查询语言(分别为JPQLHQL),但Java下不存在查询框架,它提供了LINQ为C#做的方式在语言级别的直接集成。