Annotation Column name ref_lang of com.recordz.ejb.entity.Message not found in JoinCo
Encore une nouvelle erreure de mapping
voici mes tables
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
DROP TABLE IF EXISTS `type`;
CREATE TABLE `type` (
`id_type` int(4) NOT NULL AUTO_INCREMENT,
`text` text NOT NULL,
PRIMARY KEY (`id_type`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `lang`;
CREATE TABLE `lang` (
`id_lang` int(4) NOT NULL AUTO_INCREMENT,
`name` text NOT NULL,
PRIMARY KEY (`id_lang`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `message`;
CREATE TABLE `message` (
`id_message` int NOT NULL,
`text` text NOT NULL,
`ref_type` int(4),
`ref_lang` int(2) NOT NULL,
FOREIGN KEY `FK_MESSAGE_TYPE` (`ref_type`) REFERENCES `type` (`id_type`),
PRIMARY KEY (`id_message`,`ref_lang`),
FOREIGN KEY `FK_MESSAGE_LANG` (`ref_lang`) REFERENCES `lang` (`id_lang`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
Mon entity Message contient
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
@Lob
@Column(name = "text", nullable = false)
private String text;
@JoinColumn(name = "ref_type", referencedColumnName = "id_type")
@ManyToOne
private Type refType;
@JoinColumn(name = "ref_lang", referencedColumnName = "id_lang")
@ManyToOne
private Lang lang; |
Problème quand je déploie :
Code:
1 2 3
|
Column name ref_lang of com.recordz.ejb.entity.Message not found in JoinColumns.referencedColumnName
org.hibernate.AnnotationException: Column name ref_lang of com.recordz.ejb.entity.Message not found in JoinColumns.referencedColumnName |
En sachant que dans Lang j ai bien
Code:
1 2 3 4
|
@Id
@Column(name = "id_lang", nullable = false)
private Integer idLang; |
Quelqu un aurait une idée ?