package com.abc.def.model;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Entity;
import javax.persistence.Embeddable;
import javax.persistence.IdClass;
import java.util.Date;
import java.io.Serializable;
@NamedNativeQuery(name="getMetadata",query="
select a.name alias1,a.fullname alias2,
b.name alias3,b.age alias4,
c.height alias5,c.something alias6,
d.otherthing alias7
from lame_table_name a,
lame_table_name_2 b
where a.id = b.id
and b.id = c.id
and c.id = d.id
and d.id = :namedparameter
order by a.index,b.index
",
resultClass=MetadataModel.class)
@Entity
@IdClass(SomeIdClass.class)
public class MetadataModel{
@Id @Column("alias1")
private Type alias1property;
@Id @Column("alias2")
private Type2 alias2property;
@Column("alias3")
private Type3 alias3property;
//getters and setters
}
@Embeddable
class SomeIdClass implements Serializable{
//serialVersionUID line
@Id @Column("alias1")
private Type alias1property;
@Id @Column("alias2")
private Type2 alias2property;
//getter and setters
}
Ошибка: SQL-17006, неверное имя столбца, целый день пробовал варианты этой настройки
Должен ли я попробовать добавить Column("lame_table_name. name")
Я также попробовал использовать SqlResultSetMapping (и удалил @Column из полей POJO) (и указал все псевдонимы столбцов в столбцах атрибут SqlResultSetMapping) (нужно ли снова указывать сопоставление результатов при выполнении запроса через метод setResultSetMapping интерфейса SQLQuery?)
package com.abc.def.model;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Entity;
import javax.persistence.Embeddable;
import javax.persistence.IdClass;
import java.util.Date;
import java.io.Serializable;
//other imports for the SqlResultSetMapping
@NamedNativeQuery(name="getMetadata",query="
select a.name alias1,a.fullname alias2,
b.name alias3,b.age alias4,
c.height alias5,c.something alias6,
d.otherthing alias7
from lame_table_name a,
lame_table_name_2 b
where a.id = b.id
and b.id = c.id
and c.id = d.id
and d.id = :namedparameter
order by a.index,b.index
",
resultSetMapping="metaDataMapping")
@SqlResultSetMapping(name="metaDataMapping",
entities=@EntityResult(entityClass=MetadataModel.class,
fields = {@FieldResult(name="alias1Property",column="alias1")
//so on
}
)
)
@Entity
@IdClass(SomeIdClass.class)
public class MetadataModel{
private Type alias1property;
private Type2 alias2property;
private Type3 alias3property;
//getters and setters
}
//composite class, exactly as above
Подробнее здесь: https://stackoverflow.com/questions/128 ... -sql-17006
Собственный запрос Hibernate: ошибка неверного имени столбца SQL-17006 ⇐ JAVA
Программисты JAVA общаются здесь
1736226222
Anonymous
package com.abc.def.model;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Entity;
import javax.persistence.Embeddable;
import javax.persistence.IdClass;
import java.util.Date;
import java.io.Serializable;
@NamedNativeQuery(name="getMetadata",query="
select a.name alias1,a.fullname alias2,
b.name alias3,b.age alias4,
c.height alias5,c.something alias6,
d.otherthing alias7
from lame_table_name a,
lame_table_name_2 b
where a.id = b.id
and b.id = c.id
and c.id = d.id
and d.id = :namedparameter
order by a.index,b.index
",
resultClass=MetadataModel.class)
@Entity
@IdClass(SomeIdClass.class)
public class MetadataModel{
@Id @Column("alias1")
private Type alias1property;
@Id @Column("alias2")
private Type2 alias2property;
@Column("alias3")
private Type3 alias3property;
//getters and setters
}
@Embeddable
class SomeIdClass implements Serializable{
//serialVersionUID line
@Id @Column("alias1")
private Type alias1property;
@Id @Column("alias2")
private Type2 alias2property;
//getter and setters
}
Ошибка: SQL-17006, неверное имя столбца, целый день пробовал варианты этой настройки
Должен ли я попробовать добавить Column("lame_table_name. name")
Я также попробовал использовать SqlResultSetMapping (и удалил @Column из полей POJO) (и указал все псевдонимы столбцов в столбцах атрибут SqlResultSetMapping) (нужно ли снова указывать сопоставление результатов при выполнении запроса через метод setResultSetMapping интерфейса SQLQuery?)
package com.abc.def.model;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Entity;
import javax.persistence.Embeddable;
import javax.persistence.IdClass;
import java.util.Date;
import java.io.Serializable;
//other imports for the SqlResultSetMapping
@NamedNativeQuery(name="getMetadata",query="
select a.name alias1,a.fullname alias2,
b.name alias3,b.age alias4,
c.height alias5,c.something alias6,
d.otherthing alias7
from lame_table_name a,
lame_table_name_2 b
where a.id = b.id
and b.id = c.id
and c.id = d.id
and d.id = :namedparameter
order by a.index,b.index
",
resultSetMapping="metaDataMapping")
@SqlResultSetMapping(name="metaDataMapping",
entities=@EntityResult(entityClass=MetadataModel.class,
fields = {@FieldResult(name="alias1Property",column="alias1")
//so on
}
)
)
@Entity
@IdClass(SomeIdClass.class)
public class MetadataModel{
private Type alias1property;
private Type2 alias2property;
private Type3 alias3property;
//getters and setters
}
//composite class, exactly as above
Подробнее здесь: [url]https://stackoverflow.com/questions/12861187/hibernate-native-query-invalid-column-name-error-sql-17006[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия