What is the difference between iBatis and myBatis? Where can i find a perfect example of those ? Please suggest. I went through Google and could not find any links for this question.
MyBatis is a fork from iBATIS, and according to Wikipedia most of iBATIS' developers moved over to MyBatis too. The iBATIS project is currently marked as Inactive, therefore you should go with MyBatis for new projects and only use iBATIS if you're maintaining an existing project which already uses iBATIS.
http://en.wikipedia.org/wiki/MyBatis
MyBatis is a fork of iBATIS 3.0 and is maintained by a team that includes the original creators of iBATIS.
http://en.wikipedia.org/wiki/IBATIS
On May 21, 2010 the development team forked the code creating a new project called MyBatis and making new releases there. As a consequence the Apache iBATIS project became inactive and was moved to the Apache Attic in June 2010.
It is the same thing, a persistence framework! But until June 2010, iBatis was under Apache license and since then, the framework founders decided to move it to Google Code and they renamed it to MyBatis.
The framework is still the same though, it just has a different name now. (of course it should be kept in mind that when time pass, components/features etc, might get updated, so there are more powerful functions added to MyBatis).
Related
I have a Data Access Layer solution built in Visual Studio 2010. It uses Entity Data Model (.edmx files) to create object models of the data.
It is built with .Net 3.5 framework so I assume this is also version 3.5 of Entity Framework?
We use a number of TVFs to return datasets and unfortunately EF 3.5 does not provide access to TVFs. So we have has to build tsql views that call those TVFs.
Is it possible to upgrade this solution to EF 6 and use TVFs? What are the steps involved?
Microsoft has release a guide to do. You find it here:
https://msdn.microsoft.com/en-us/data/upgradeef6.aspx
It involves getting the latest assemblies and do some modifications in order to run. It seems upgrading from an older version is a little harder than from a new version.
I am trying to go through this tutorial to learn more on Glassfish. I am at the stage of creating Java entities from DB tables and the tutorial instructs to " In the context menu of the EJB project (and only there) you’ll find JPA Tools / Generate Entities from Tables". However, I can't find that option in the EJB project menu. I suppose the tutorial is a bit stale and based off of a previous version of GF for Eclipse. Can anybody tell what the updated functionality of this is, i.e. how to generate Java entity classes from DB so I can carry on with my tutorial?
Thanks
Sorry, i have noticed this question right now, i'll answer it although think it's too late.
JPA tools generally are not included in EJP Projects so you have to include them manually: go in Properties of your EJB, select between the options Project Facets and next check JPA. After it, you'll find JPA tools in EJP just pressing right click on your EJP project.
Hope it helped to someone.
I've installed EFv4.2 via Nuget but I still don't see "DbContext generator" T4 template in EDMX model, only "Entity object generator" and "Self-tracking generator" are available. It seems that there is nothing changed.
Am I missing something ? Do I need to install EFv4.1 first ?
There are no new features. Only bug fixes.
EF 4.2 = Bug Fixes + Semantic Versioning
When we released ‘EF 4.1
Update 1’ we introduced a bug that affects third party EF providers
using a generic class for their provider factory implementation,
things such as WrappingProviderFactory. We missed this
during our testing and it was reported by some of our provider writers
after we had shipped. If you hit this bug you will get a
FileLoadException stating “The given assembly name or codebase was
invalid”. This bug is blocking some third party providers from working
with ‘EF 4.1 Update 1’ and the only workaround for folks using an
affected provider is to ask them to remain on EF 4.1. Third party
provider writers then identified some areas in EF where it was hard to
get EF to work with their providers, so we decided to address these
issues in the EF 4.2 release. These provider related changes will be
the only changes between ‘EF 4.1 Update 1’ and ‘EF 4.2’.
Obviously a single bug fix wouldn’t normally warrant bumping the minor
version, but we also wanted to take the opportunity to get onto the
semantic versioning path rather than calling the release ‘EF 4.1
Update 2’.
Extracted from ADO.NET Team Blog
Edit
The templates for using the DbContext API with Model First and
Database First are now available under the “Online Templates” tab when
“Right-Click –> Add Code Generation Item…” is selected on the EF
Designer.
I've been looking at the new Entity Framework 4 Code Only features, and I really like them. But I'm having a hard time finding good resource on the feature. Everything seems to be spread around blongs here and there, so this make me wonder if it's ready to be used for a serious project?
What do you think? Is it ready for production use or should I use the more traditional approach (EDMX designer, POCO objects)?
Also, I would like to know if there are any features that Code Only does not support yet, compared to the EDMX designer?
What do you think about the Code Only feature? Is it "mature" yet?
Thank you.
It depends when your project should be ready. Code First (Code Only) is only in CTP3 without go-live license. As I've read, there is no exact timeframe for the Feature Pack Where is EntityConfiguration in EF4 VS 2010 RTM? and it will be published when it will be ready (no release date). According to the blog of EF team it will be available in the next framework release.
Code First is still under active
development and will have some
breaking changes so there is no
go-live licence at this time.
Link
Code First = Code Only
In my projects I went with EF + POCO for now.
If anyone is still looking for an answer to this, Entity Framework V4.1 which has the "Code first" feature has been RTW (released to web) for production use since a month and a half now.
You need .Net 4.0 RTM in order to install it. Once you have that installed, you can download the stand-alone installer for EF4.1 from here.
... and I did the first web application using it, now I'm going to create the second.
In this first web application I enhanced the framework's core library with new things and promptly updated framework branch.
I'm using bazaar to keep framework and web application committed. The application was in the beginning, a full branch of framework source tree, now I'm updating framework manually at every change on core files. (copying changed files from web app to framework's branch).
With this second web application that I'm going to create, I need to know about versions (or revisions) which the application is based. If I found a bug in this version I can fix and then sync files with first web application no worrying: functions will be the same to this application.
If I'm going to make changes in core (new behavior, new functions in library or something new in source tree) it must be named as "new version".
What's the best way to do this?
Because I'm using a Distributed Version Control System (bazaar), I'm not dealing with VERSIONS, but revision numbers that change every time.
Please fresh my mind with new ideas.
I would organise all these apps in their own repositories:
1) Your framework code, where you then release constantly different versions: 1.0, 1.1, etc.
2) Web app 1, where you plugin your framework-component version x.y.z
3) Web app 2, where you plugin your framework-component version x.y.z
If now WebApp1 needs a new feature, you implement this in your framework-code and then you release a new version, or maybe you first collect some changes which you want then to integrate into your WebApp1 and after that you make a new framework release.
With this you can easily say WebApp1 is dependent on the framework code version 1.0 and maybe the WebApp2 is dependent on a newer framework code for example version 1.2.
Important is, that you can integrate your framework code as "component" or "plugin" to your webapps. Then you can easily replace the framework code with newer ones.
I hope I had understand your question.