Path: csiph.com!usenet.pasdenom.info!aioe.org!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Jeff Higgins Newsgroups: comp.lang.java.programmer Subject: Re: From Hibernate to straight JPA Date: Sat, 18 Jul 2015 16:51:51 -0400 Organization: A noiseless patient Spider Lines: 56 Message-ID: References: <87egkfhodv.fsf@Equus.decebal.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sat, 18 Jul 2015 20:54:18 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="8e164d158183579609bf09837dee5210"; logging-data="20125"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19209TY1SNKZNMB+8/TXoZ3OnSKNedShtQ=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.7.0 In-Reply-To: Cancel-Lock: sha1:F7xMult3pcYaKvralnbO0DHhRjs= Xref: csiph.com comp.lang.java.programmer:32078 On 07/18/2015 03:48 PM, Eternal Hope wrote: > On 10/07/2015 19:13, Cecil Westerhof wrote: >> We are asked to change some software. At the moment one of the things >> that has to be replaced is Hibernate. They want to use straight JPA, >> so it is easy to switch from Hibernate, to openJPA, to … >> >> One of the annotations that is used is: >> @NotEmpty(message = "Field is not filled") >> with the import: >> import org.hibernate.validator.constraints.NotEmpty; >> >> My college wants to use: >> @NotNull(message = "Field is not filled") >> @Size(message = "Field is not filled", min = 1) >> >> I do not like this. It certainly is not DRY. (It is used hundreds of >> times.) I prefer to define our own NotEmpty. But I have never worked >> with annotations. How to do this? >> >> Also what is a good resource to learn about JPA and annotations? > > As I read this thread I thought it was about time I had a look at this > JPA stuff. I've been writing Java for circa 15 years now, I've done > everything from writing byte streams to firmware interfaces to high > availability container managed business applications and Swing based > UIs. In all this time I have relied on a JDBC driver in my classpath, > container managed connection pools, hand coded SQL and 'in code' > transaction management. I do my own OR mapping; actually we don't call > it 'OR mapping' it's just relational database stuff, and quite frankly > I've never found the need to use some persistance framework. > > I just had a look at > http://openjpa.apache.org/builds/2.4.0/apidocs/index.html > > Good grief ... HOW many classes. WTF Here is a much smaller API. > > Seriously, how much of this stuff do people actually use. > What is the learning overhead of just this one API > It gives me a headache just scrolling down the class list. > What is the actual payback for the time spent getting your head around > even a fraction of this API > > This is not a trivial question AFAIAC I genuinely can't see the benefit, > particularly in the short term of learning this stuff. There will always > be another framework, I could spend my entire life learning frameworks > all the time getting further and further away from the core language. > > I'd be genuinely interested in any non-confrontational opinions. > > Thanks >