[jboss-user] [EJB 3.0] - @ManyToOne results in tinyblob
hispeedsurfer
do-not-reply at jboss.com
Tue Feb 27 01:55:36 EST 2007
Hi,
I'am working on JBoss-4.0.5.GA with EJB3 on MySQL.
Why a @ManyToOne join result in a tinyblob instead of a foreign-key?
My entities are a Baseentity and some derived classes with such @ManyToOne connections.
Here the BaseEntity
@MappedSuperclass
| public abstract class BaseEntity implements Serializable{
|
| @Column(name="__UUID__", unique=true, nullable=false, updatable=false, length=36)
| protected String internalUUID;
|
|
| protected Long id;
| protected Integer version;
|
| @Id @GeneratedValue
| protected Long getId(){
| return id;
| }
|
| protected void setId(Long id){
| this.id = id;
| }
|
| @Version
| protected Integer getVersion(){
| return version;
| }
| public void setVersion(Integer version) {
| this.version = version;
| }
|
| public BaseEntity(){
| this.internalUUID = java.util.UUID.randomUUID().toString();
| }
|
| @Override
| public boolean equals(Object o) {
| return (o == this || (o instanceof BaseEntity && internalUUID.equals(((BaseEntity)o).internalUUID)));
| }
|
| public String toString() {
| return getClass().getSimpleName() + " Id: " + getId();
| }
|
| @Override
| public int hashCode() {
| return internalUUID.hashCode();
| }
|
|
| }
a derived class
@Entity
| @Name("generation")
| @Table(name="generations")
| @SuppressWarnings("unused")
| public class Generation extends BaseEntity {
|
| /**
| *
| */
| private static final long serialVersionUID = 6004105498293729499L;
| private String name;
|
| /**
| *
| */
| public Generation() {
| // TODO Auto-generated constructor stub
| }
| public String getName() {
| return name;
| }
| public void setName(String name) {
| this.name = name;
| }
| }
and the class with manytoone relation
@Entity
| @Name("specialrelease")
| @Table(name="specialreleases")
| @SuppressWarnings("unused")
| public class SpecialRelease extends BaseEntity {
|
| /**
| *
| */
| private static final long serialVersionUID = -8813581197028149761L;
| static final int NOTRELEASED = 1;
| static final int NOTPERMITTED = 2;
| static final int ONDEMAND = 3;
| static final int DECLINED = 4;
| static final int EXPIRED = 5;
| static final int NOTVALID = 6;
|
|
| //@NotNull
| private Long requestNumber;
|
|
| private String description;
|
| @ManyToOne
| private Generation generation;
|
|
| /**
| *
| */
| public SpecialRelease() {
| // TODO Auto-generated constructor stub
| status = NOTRELEASED; //Genemhmigungsprozess noch nicht gestartet
| }
|
|
| public Generation getGeneration() {
| return generation;
| }
|
| public void setGeneration(Generation generation) {
| this.generation = generation;
| }
| }
|
Even I tried to put "@JoinColumn(name="generation_id", referencedColumnName="id")" to the relation the result is the same.
An idea what I can to to avoid the tinyblob?
Thanks
Andreas
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4022876#4022876
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4022876
More information about the jboss-user
mailing list