[Biojava-l] Getting features with the same Location
mark.schreiber at novartis.com
mark.schreiber at novartis.com
Fri Dec 12 01:49:05 UTC 2008
Are you sure about that? Under the JPA spec (which Hibernate can comply
with) the primary key is often public and settable. I don't think
Hibernate gets confused if you change it but I suspect the programmer
might.
There are cases where you would want to set it. For example you retrieve
record 1 change a few fields and then change the PK to 2 and then persist
it back. You now have two separate records. Effectively a template copy.
If you have auto PK generation you can simply make the PK = null and let
the DB find a new PK for you.
Yes it can be a little bit dangerous if you don't think about it but it
probably doesn't need to be private.
Even if it is can't there be a public getter?
- Mark
biojava-l-bounces at lists.open-bio.org wrote on 12/12/2008 12:28:11 AM:
> The rationale was to prevent it being changed by the programmer, because
> if that happens then Hibernate gets seriously confused (it relies on the
> PKs remaining constant whilst an object is in memory).
>
> Hilmar Lapp wrote:
> >
> > On Dec 11, 2008, at 10:02 AM, Richard Holland wrote:
> >
> >> Yes, the bioentry_id is private.
> >
> >
> > What's the rationale for that? It's the primary key; why should it be
> > forbidden to view it, even for derived classes?
> >
> > (For a Bioperl-db persistent object, the primary key is public and
> > always accessible as $pobj->primary_key(). It can even be changed by
the
> > programmer, though of course you should know what you're doing when
you
> > decide to do that.)
> >
> > -hilmar
>
> --
> Richard Holland, BSc MBCS
> Finance Director, Eagle Genomics Ltd
> M: +44 7500 438846 | E: holland at eaglegenomics.com
> http://www.eaglegenomics.com/
> _______________________________________________
> Biojava-l mailing list - Biojava-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biojava-l
_________________________
CONFIDENTIALITY NOTICE
The information contained in this e-mail message is intended only for the
exclusive use of the individual or entity named above and may contain
information that is privileged, confidential or exempt from disclosure
under applicable law. If the reader of this message is not the intended
recipient, or the employee or agent responsible for delivery of the
message to the intended recipient, you are hereby notified that any
dissemination, distribution or copying of this communication is strictly
prohibited. If you have received this communication in error, please
notify the sender immediately by e-mail and delete the material from any
computer. Thank you.
More information about the Biojava-l
mailing list