[jboss-user] [Persistence, JBoss/CMP, Hibernate, Database] - Mapping relationship where database ID's are different forma
david.spark
do-not-reply at jboss.com
Fri Oct 19 06:09:22 EDT 2007
I'm trying to map a OneToOne relationship in a legacy database. The problem I have is that I keep getting the following error:
javax.persistence.PersistenceException: org.hibernate.HibernateException: Wrong column type: LocationID, expected: tinyint
| at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:737)
| at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:127)
| at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:246)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)...
My entity beans are setup as follows:
@Entity
| @Table(name="tblAccountManager")
| public class AccountManager implements Serializable {
|
| ...
|
| @OneToOne
| @JoinColumn(name="LocationID")
| private Branch branch;
@Entity
| @Table(name="web_location")
| @Name("Branch")
| public class Branch implements Serializable {
|
| private static final long serialVersionUID = -7280892867401735383L;
|
| @Id @GeneratedValue
| @Column(name = "Loc_ID")
| @org.hibernate.annotations.Type(type = "custom.hibernate.IntegerToByteUserType")
| private Integer id;
I guess the problem is that in the database tblAccountManager.LocationID is an int(11) where as web_location.Loc_ID is a tinyint(3). Is there any way to map this setup with annotations and without changing the database?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4096895#4096895
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4096895
More information about the jboss-user
mailing list