HOME
*





.NET Persistence API
The .NET Persistence API, also referred to as NPA, is a persistence and object-relational mapping (ORM) specification for the .NET framework. NPA is based on the Java Persistence API (JPA), which is the standard persistence API in the Java world. NPA follows JPA by providing a complete persistence API and a rich set of ORM features. Motivation The main purposes of the .NET Persistence API (NPA) are: * To provide a vendor-free persistence API for .NET, making switching from one persistence provider to another easier (avoiding vendor lock-in). * To provide a cross-language persistence API by extending the popular Java Persistence API (JPA) to all the .NET programming languages. Technology The main features of NPA include: * Object-oriented API for working against databases (usually RDBMS). * Query language, based on SQL, for retrieving data from the database in an object oriented manner. * Support of persisting POCO (plain old CLR objects) objects (entities). * Two methods f ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

NET Framework
The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until being superseded by the cross-platform .NET project. It includes a large class library called Framework Class Library (FCL) and provides language interoperability (each language can use code written in other languages) across several programming languages. Programs written for .NET Framework execute in a software environment (in contrast to a hardware environment) named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called " managed code". FCL and CLR together constitute the .NET Framework. FCL provides the user interface, data access, database connectivity, cryptograp ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Java Persistence API
Jakarta Persistence (JPA; formerly Java Persistence API) is a Jakarta EE application programming interface specification that describes the management of relational data in enterprise Java applications. Persistence in this context covers three areas: * The API itself, defined in the package ( for Jakarta EE 8 and below) * The Jakarta Persistence Query Language (JPQL; formerly Java Persistence Query Language) * Object/relational metadata The reference implementation for JPA is EclipseLink. History The final release date of the JPA 1.0 specification was 11 May 2006 as part of Java Community Process JSR 220. The JPA 2.0 specification was released 10 December 2009 (the Java EE 6 platform requires JPA 2.0). The JPA 2.1 specification was released 22 April 2013 (the Java EE 7 platform requires JPA 2.1). The JPA 2.2 specification was released in the summer of 2017. The JPA 3.1 specification, the latest version, was released in the spring of 2022 as part of Jakarta EE 10. Entit ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Java (programming Language)
Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers ''write once, run anywhere'' ( WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them. The Java runtime provides dynamic capabilities (such as reflection and runtime code modification) that are typically not available in traditional compiled languages. , Java was one of the most popular programming languages in use according to GitHub, particularly for client–server web applications, with a reported 9 million developers. Java was originally de ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Vendor Lock-in
In economics, vendor lock-in, also known as proprietary lock-in or customer lock-in, makes a customer dependent on a vendor for products, unable to use another vendor without substantial switching costs. The use of open standards and alternative options makes systems tolerant of change, so that decisions can be postponed until more information is available or unforeseen events are addressed. Vendor lock-in does the opposite: it makes it difficult to move from one solution to another. Lock-in costs that create barriers to market entry may result in antitrust action against a monopoly. Lock-in types ; Monopolistic : Whether a single vendor controls the market for the method or technology being locked in to. Distinguishes between being locked to the mere technology, or specifically the vendor of it. This class of lock-in is potentially technologically hard to overcome if the monopoly is held up by barriers to market that are nontrivial to circumvent, such as patents, secre ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Plain Old CLR Object
In software engineering, a plain old CLR object, or plain old class object (POCO) is a simple object created in the .NET Common Language Runtime (CLR) that is unencumbered by inheritance or attributes. This is often used in opposition to the complex or specialized objects that object-relational mapping frameworks often require. In essence, a POCO does not have any dependency on an external framework. Etymology ''Plain Old CLR Object'' is a play on the term '' plain old Java object'' from the Java EE programming world, which was coined by Martin Fowler in 2000. POCO is often expanded to ''plain old C# object'', though POCOs can be created with any language targeting the CLR. An alternative acronym sometimes used is ''plain old .NET object''.See, for example, a reference to PONO in this whitepaperSpring.net Reference Documentation/ref> Benefits Some benefits of POCOs are: * allows a simple storage mechanism for data, and simplifies serialization and passing data through layers; * ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


NHibernate
NHibernate is an object–relational mapping (ORM) solution for the Microsoft .NET platform. It provides a framework for mapping an object-oriented domain model to a traditional relational database. Its purpose is to relieve the developer from a significant portion of relational data persistence-related programming tasks. NHibernate is free and open-source software that is distributed under the GNU Lesser General Public License. NHibernate is a port of Hibernate. Feature summary NHibernate's primary feature is mapping from .NET classes to database tables (and from CLR data types to SQL data types). NHibernate also provides data query and retrieval facilities. It generates the SQL commands and relieves the developer from manual data set handling and object conversion, keeping the application portable to most SQL databases, with database portability delivered at very little performance overhead. NHibernate provides transparent persistence for Plain Old CLR Objects (POCOs). T ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]